[英]How to call raw SQL queries in EF 6.0
I have a simple gridview which I need to bind with a list of users. 我有一个简单的gridview,我需要绑定一个用户列表。
In EF.5.0 I could simple write 在EF.5.0中,我可以简单地写
context.Users.Select(emp => new { Name = emp.FirstName, EmailId = emp.EmailId, UserId = emp.UserId }).ToList();
However, I don't see the .ToList()
method anymore in EF6.0 但是,我在
.ToList()
不再看到.ToList()
方法
So, I have to write an async query using ToAsyncList()
. 因此,我必须使用
ToAsyncList()
编写一个异步查询。 However, not sure why the below code does not work and system goes in endless execution. 但是,不确定为什么以下代码不起作用,并且系统会无休止地执行。
protected void Page_Load(object sender, EventArgs e)
{
var task = LoadData();
task.Wait();
GridView1.DataSource = task.Result;
GridView1.DataBind();
}
private async Task<List<User>> LoadData()
{
List<User> users = null;
using (var context = new BlogEntities())
{
users = await context.Database.SqlQuery<User>("Select * from User", new object[] { }).ToListAsync();
}
return users;
}
Can anyone please let me know, what I am doing wrong here? 谁能告诉我,我在这里做错了吗?
使用此代码:
var users = context.Users.SqlQuery("SELECT * FROM dbo.User").ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.