我是新來的實體框架,所以我希望這不是一個無。
基本上我有一個大的30000到100000之間的記錄。從根本上講,每條記錄中有趣的字段是ID和總數,必須在應用程序端進行計算。實體框架6大表批量更新
因此,我正在提取記錄,將它們投影到執行不同計算的業務邏輯類,並將新的總計分配給該類。
var validPriceVersionID = context.PriceVersion.Where(f => f.Status == "VALID").FirstOrDefault().PriceVersionID;
var tmp = context.EndItem.Where(f => f.Total == 0).Project().To<EndItem>().ToList();
tmp.Select(c => { c.PriceVersionID = validPriceVersionID; return c; }).ToList();
現在,我需要用基於ID的新Total來更新整個SQL表,這裏是我的噩夢開始。例如,一些基本如下,走的時候
var idTotalPair = tmp.Select(x => new {x.EndItemID, x.Total}).ToArray();
我做了一些期試驗研究,結果發現,EF不支持批量opperations,它不支持TableTyped參數的存儲過程數額特別巨大。
所以,我假裝是找到最佳(高性能)的方式來更新每次總計算後的所有記錄。任何幫助將grealtlly讚賞:)
在此先感謝
此[鏈接](http://entityframework-extensions.net/?z=codeplex)可以是有用的 – Anton
看起來像的東西,將很容易地(和更快)解決了一個很好的舊存儲過程 – jeroenh