Entity Frameworkを初めて使用しているので、これが問題ではないことを願っています。
基本的に私はそれに30000と100000のレコードを持つ大きながあります。基本的に、各レコードの興味深いフィールドは、アプリケーション側で計算されなければならないIDと合計です。 Entity Framework 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に基づいてSQLテーブル全体を新しいTotalで更新する必要があります。ここで私の悪夢が始まります。例えば、以下のような基本的なようなものは、時間
var idTotalPair = tmp.Select(x => new {x.EndItemID, x.Total}).ToArray();
の異常な量を取っている私はいくつか・研究を行い、EFは、バルクopperationsをサポートし、それがストアドプロシージャのTableTypedパラメータをサポートしていないことをしないことが分かってきました。
私が推したことは、各合計計算後にすべてのレコードを更新するための最良の(実行可能な)方法を見つけることです。すべてのヘルプはgreatelly理解されるであろう:)事前
この[リンク](http://entityframework-extensions.net/?z=codeplex)( – Anton
が簡単になります何かのように見える便利にすることができ、はるかに速い)良い古いストアドプロシージャで解決 – jeroenh