我想在我的ASP.NET MVC控制器中使用async/await模式。我越來越在MVC控制器,希望異步返回EntityFramework CodeFirst數據
的ObjectContext的實例已設置,並且可以不再
最終使用的錯誤,我想我的緩存結果,但現在我認爲第一步是剛剛弄清楚如何與EF工作和異步回/等待
public class SpeakerController : Controller
{
public async Task<ActionResult> Index()
{
using (var context = new MultiTenantContext())
{
var speakersAll = await context.Speakers.ToListAsync();
return View("Index", speakersAll);
}
}
發現的解決方案:
private MultiTenantContext context = new MultiTenantContext();
public async Task<ActionResult> Index()
{
var speakersAll = await context.Speakers.ToListAsync();
return View("Index", speakersAll);
}
正如我在下面的評論中所說的,將上下文從使用中拉出,會導致在ToListAsync()實際執行時不會處理它。
哪一行發生錯誤? – Carl
我剛剛找到一個例子,說明我可以將上下文移動到控制器中,如下所示:private MultiTenantContext context = new MultiTenantContext();這解決了這個問題。現在,我正在處理緩存問題 –
您應該發佈解決問題的方法,作爲將來可能會遇到您的帖子的任何人的答案。 – drneel