Dot-Net
使用新的 async/await 非同步使用 Linq to Sql
與此方法相比,將 L2S 與新的 C# 5
async/await關鍵字一起使用的最佳實踐是什麼?在網上找不到任何東西。
EF 5 沒有 async/await 支持,但開源版本正在積極探索這裡的可能性。編輯:EF 中的非同步支持記錄在http://msdn.microsoft.com/en-us/data/jj819165.aspx。它不會將結果流式傳輸,因為它們是水合的(正如您在 RX 中會發現的那樣),但它確實使數據庫呼叫非同步。
至於 LINQ to SQL,除了將您的請求包裝在 Task.Factory.Start 操作中之外,我不會屏住呼吸,希望 Microsoft 為 Linq to SQL 實現基於任務的非同步(非同步/等待所需)。
如果絕對必要,您可以使用IQToolkit並擴展它,添加您自己的非同步支持。此外,Mono 已經實現了 LINQ to SQL,您可以使用非同步支持對其進行擴展。