1
我有這樣的代碼中的錯誤:我使用始終的await關鍵字,但我得到的是說,以前的操作沒有完成
private async void reasignarPiezasReservadas(DbContext paramDbContext)
{
try
{
string miStrTsql = "select...";
await paramDbContext.MyType.SqlQuery(miStrTsql).ToListAsync();
miStrTsql = "Select...";
await paramDbContext.Database.ExecuteSqlCommandAsync(miStrTsql);
}
}
有了這個代碼,我得到的埃羅:{「第二在上一次異步操作完成之前,在此上下文中啓動操作,使用'await'以確保在調用此上下文中的另一個方法之前已完成任何異步操作,但不保證所有實例成員都是線程安全的。「}
I我在兩個查詢中使用await。
如果在第一個查詢中使用ToList()而不是ToListAsync(),那麼我不會收到問題。
但是,如果我在所有情況下都使用await,爲什麼會出現錯誤?
感謝。
帶'await's的方法體是可以的。如何使用(調用)方法更有趣?可以注意到(1)方法是'async void',(2)'DbContext'是外部傳遞的。 –