我是新来的实体框架,所以我希望这不是一个无。
基本上我有一个大的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