1
我有一个简单的gridview,我需要将其与用户列表绑定。如何在EF 6.0中调用原始SQL查询
在EF.5.0我可以简单的写
context.Users.Select(emp => new { Name = emp.FirstName, EmailId = emp.EmailId, UserId = emp.UserId }).ToList();
不过,我不EF6.0
看到.ToList()
方法了,所以,我必须写使用ToAsyncList()
异步查询。但是,不知道为什么下面的代码不工作,系统进入无尽的执行。
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;
}
任何人都可以请让我知道,我在做什么错在这里?
谢谢。这一个工程。但如果我使用context.Database.SqlQuery(User.GetType(),“Select * from [User]”,new object [] {})。ToListAsync(),异步方法不起作用。我想知道为什么ToList()方法在这里不可用,它强制用户使用异步。 –
'ToListAsync()'不起作用,或者执行需要很长时间? 关于这个方法有一个[topic](http://stackoverflow.com/questions/28543293/entity-framework-async-operation-takes-ten-times-as-long-to-complete) –