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) –