タグ付けされた質問 「savechanges」

5
何千ものEntityFrameworkオブジェクトを作成するときに、いつSaveChanges()を呼び出す必要がありますか?(インポート時のように)
実行ごとに数千のレコードを持つインポートを実行しています。私の仮定の確認を探しているだけです: これらのどれが最も理にかなっています: SaveChanges()すべてのAddToClassName()呼び出しを実行します。 n回の呼び出しSaveChanges()ごとに実行します。AddToClassName() すべての呼び出しのSaveChanges()後に実行します。AddToClassName() 最初のオプションはおそらく遅いですよね?メモリ内のEFオブジェクトを分析する必要があるため、SQLなどを生成します。 2番目のオプションは、両方の長所であると思いSaveChanges()ます。これは、その呼び出しの周りにtry catchをラップでき、一方が失敗した場合に一度にn個のレコードしか失うことができないためです。たぶん、各バッチをリスト<>に保存します。SaveChanges()呼び出しが成功した場合は、リストを削除します。失敗した場合は、アイテムをログに記録します。 最後のオプションも、SaveChanges()呼び出されるまですべてのEFオブジェクトがメモリ内にある必要があるため、おそらく非常に遅くなります。そして、保存が失敗した場合、何もコミットされませんよね?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.