我創建了一些使用EF查詢數據庫以獲取所需數據的WCF服務。我目前遇到的問題是,我有兩個或更多的EF LINQ查詢被聲明,然後執行以恢復我的數據......但這是串行的。一個EF查詢被髮出,然後是下一個。我們可以做並行EF LINQ查詢嗎?
有誰知道並行發出查詢的簡單方法嗎?或者我在尋找異步/並行任務來獲得正確的行爲。
我知道DBContext不是線程安全的,所以如果需要,我在聲明多個上下文時沒有問題。
到目前爲止的代碼如下:
using (IMyContext ctx = MyFactory.GetInstance(request.UserId)) {
Response response = new Response();
response.customer = ctx.GetCustomerByAccount(request.data.Account);
response.orders = ctx.GetOrdersByAccount(request.data.Account);
response.address = ctx.GetDefaultAddressByAccount(request.data.Account);
return response;
}
的GetCustomerByAccount,GetOrdersByAccount和GetDefaultAddressByAccount代碼只是看起來確實在DbSet一個發現讓我的數據。
萬一它很重要,我在Oracle上使用EF,並使用Code First。我沒有導航屬性,也沒有表格之間的限制,所以當我查詢主客戶記錄時,我無法通過延遲加載告訴EF加載訂單和地址。
由於提前, 尼克