Entity Frameworkとは何かDbContextと、SaveChanges()でエラーが発生した後にエンティティが登録されます(たとえば、インデックスによって重複する行やタイムアウトが禁止されます)。それらはまだ使用可能か、あるいは不調和な状態にあり、捨てるべきですか?データベースエラーが発生した後でDbContextを安全に使用できますか
2
A
答えて
1
元のエラーを修正すれば、それでも使用できます。タイムアウトの場合はもう一度やり直すことができますが、インデックスエラーのようなものであれば、SaveChanges
を呼び出すと新しいトランザクションが開始され、変更を保存しようとすると問題が解決する必要があります。 1つの変更が失敗した場合、トランザクション全体がロールバックされます。
コンテキストを再利用せずに再利用する可能性は、アーキテクチャによって異なります。
たとえば、あなたのような何かをやった場合:私は、コンテキストが閉じられているように(それはusing
の終わりを打つときであるように)適切なエラー処理が所定の位置にあることを期待する
using (var context = GetContext())
{
//do something that goes wrong
}
をし、とにかくコンテキストが利用できないようにエラーが表示されます。
コメントに関して編集
、時間の長い期間のためのオープンシングルコンテキストを有することはお勧めできません。 SQLサーバーは、接続のオープンとクローズを制御する独自の接続プーリングを使用しているため、必要に応じてコンテキストを開くだけでは遅くはありません。これにより、エラーの制御も良好になります。
関連する問題
- 1. データベースエラーが発生しましたCodeIgniter 3.0
- 2. 適切な設定でMongoDBデータベースエラーが発生しました
- 3. データベースエラーがCodeIgniterのエラー番号で発生しました:1048
- 4. LinuxのDbContextでEntity Frameworkに問題が発生しました
- 5. mysqlのWordPressデータベースエラーでデータを挿入中にエラーが発生しましたか?
- 6. クローンの途中でエラーが発生した後に更新するのは安全ですか?
- 7. マルチレリージョンオートスケーラでプリエンプティブサーバを安全に使用できますか?
- 8. APIキーでfile_get_contentsを安全に使用できますか?
- 9. SVG要素でaddEventListenerを安全に使用できますか?
- 10. シグナルハンドラでSIGRTMINとSIGRTMAXを安全に使用できますか?
- 11. 無料でcallocを安全に使用できますか?
- 12. このログインをクッキーで安全に使用できますか?
- 13. このアプリケーションで安全でないコンテンツエラーが発生しました
- 14. IISの展開中にSQLデータベースエラーが発生しました
- 15. 値の挿入時にSQLiteデータベースエラーが発生しました
- 16. イベントが発生した後で遷移を安定させる
- 17. PayPal .NET SDKはXamarin.Formsで安全に使用できますか?
- 18. 安全にASP.NET MVCでスレッドを生成できますか?
- 19. javascriptでエラーが発生することなくプロパティの安全性を使用
- 20. ngStorageを安全に使用できますか?
- 21. C++:longjmpとsetjmpを安全に使用できますか?
- 22. 例外が発生しやすいコードでva_listを使用することは安全ですか?
- 23. Windows 2003で生成されたGUIDはセッションIDとして安全に使用できますか?
- 24. dompdf + file_get_contentsは安全に使用できますか?
- 25. マーキーは安全に使用できますか?
- 26. ブラケットのウェブサイトとテキストエディタは安全に使用できますか?
- 27. java.io.BufferedOutputStreamは安全に使用できますか?一見
- 28. JDK7は安全に使用できますか?
- 29. 「ラインハイト」スタイルは安全に使用できますか?
- 30. このソート方法は安全に使用できますか?
これを参照してください:https://msdn.microsoft.com/en-us/data/jj729737.aspx – Sampath