Entity Frameworkの保留中の変更をどのように確認できますか?

.net c# entity-framework

質問

私はADO.NET Entity Frameworkを使用してアプリケーションを作成しています。

デバッグ中にコードを1行ずつ実行し、実行されたすべてのクエリについてSQL Server Profilerを監視することはできますが、これらすべてのSQLコマンドがどこから来ているのかわかりません。

SaveChanges()を実行すると、Entity Frameworkが予期しない、奇妙なINSERTSを実行することがあります。彼らは時々アプリケーションを壊します。それらを引き起こすために私がしていることを理解することはできません。

SaveChanges()呼び出しを待ってキューに入っている保留中の変更を監視する方法をSaveChanges()ください。

人気のある回答

Entity Frameworkの5.0以来DbContextありChangeTrackerプロパティのすべての保留中の変更があります。 ObjectStateManagerと同様に、次のようにさまざまな状態のエンティティを取得できます。

myDbContext.ChangeTracker.Entries().Where(e => e.State == EntityState.Added);
myDbContext.ChangeTracker.Entries().Where(e => e.State == EntityState.Deleted);
myDbContext.ChangeTracker.Entries().Where(e => e.State == EntityState.Modified);


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ