【发布时间】:2015-06-29 11:50:08
【问题描述】:
以下应该返回“C”,但它返回“B”
using System.Data.Entity;
//...
var state = "A";
var qry = (from f in db.myTable select f);
await qry.ForEachAsync(async (myRecord) => {
await DoStuffAsync(myRecord);
state = "B";
});
state = "C";
return state;
它不等待 DoStuffAsync 完成,state="C" 运行,然后state="B" 稍后执行(因为它内部仍在等待)。
【问题讨论】:
-
所以我猜它在逻辑上相当于
foreach (var x in await qty.ToArrayAsync()) { ... }?
标签: c# .net entity-framework asynchronous async-await