エンティティが追加されるたびに、新しく追加されたエンティティの主キーIDが必要なプロセスがあります。 SaveChanges()
メソッドをDbContext
にオーバーライドし、ChangeTracker
を見ましたが、新しく追加されたエンティティを取得する動的な方法はありません。そうする良い方法はありますか?新しく追加されたエンティティの取得後にSaveChanges?
0
A
答えて
3
新しいエンティティの変更トラッカーを照会します。
public override int SaveChanges()
{
var newEntities = ChangeTracker.Entries()
.Where(entry => entry.State == EntityState.Added)
.Select(entry => entry.Entity).ToList();
var count = base.SaveChanges();
// do something with newEntities
return count;
}
1
SaveChangesをオーバーライドし、実際の保存に先立って追加状態のエンティティを収集することはできますが、それはAFAIKになります。
関連する問題
- 1. 新しく追加されたエンティティをリポジトリから取得する方法は?
- 2. 列を追加した後にdb2テーブルに新しく追加された行を取得する方法
- 3. 新しく追加されたアイテムのビューホルダーを取得
- 4. 新しく追加されたレコードにバインドするエンティティへのWPFとLINQ
- 5. Qt4のモデルにアイテムを追加し、新しく追加されたアイテムのインデックスを取得する方法
- 6. Facebookから新しく追加されたコメントを取得する
- 7. データベースから新しく追加された行を取得できません
- 8. Resources.resxから新しく追加されたファイルを取得できません
- 9. 新しく追加されたアドレス帳オブジェクトiosからABRecordIDを取得
- 10. 既にフォークされたレポに新しく追加されたブランチを取得するには?
- 11. パラメータが追加された後にSQL文を取得
- 12. クラスが追加された後の要素テキスト値の取得
- 13. 人を追加した後にテーブルビューが正しく更新されない
- 14. Sequelize既存のエントリを新しく作成されたエントリに関連付けて追加し、新しく作成/更新されたエントリを取得する
- 15. Vue.js:の後に追加された新しいアイテムが
- 16. エンティティフレームワークを使用したSaveChangesの後にローカルデータベースが更新されない
- 17. コアデータオブジェクトを追加した後にテーブルビューが更新されない
- 18. パラメータを追加した後にテーブルアダプタが更新されない
- 19. エントリを追加した後にテーブルが更新されない
- 20. firebaseに追加された新しいアイテムだけを取得するには?
- 21. Entity Frameworkで新しいアイテムを追加した後にIDを取得
- 22. Gitのスタッシュが新しく追加されたファイルに
- 23. エンティティが永続化された後にボタンを追加します。
- 24. Android Studioは新しく追加されたメソッドのテストを追加します
- 25. firebaseデータベースに新しく追加された子ノードのイベントを取得します
- 26. EntityFrameworkネストされたエンティティを素早く追加する
- 27. エンティティフレームワーク追加エンティティで子エンティティも追加されます
- 28. EF4は、新しく追加されたエンティティには常に一時キーを使用しますか?私はTryGetObjectByKeyを使用してコンテキストに新しく追加されたエンティティを見つけようとしてきた
- 29. リポジトリに追加した後にオブジェクトのUIDを取得する
- 30. jQuery:新しく追加されたdivへの追加機能のバインド
残念ながら、エンティティはこの時点で主キー値を持っていません。 – grefly
私は分かりません。 Erangaの例で分かるように、追加されたエンティティを保存してから、保存した後に何かを実行します。データベースにプライマリキー値が割り当てられている場合は、同じエンティティが更新され、キーがあります。 – Ocelot20
ありがとうございます。 – grefly