エンティティが追加されるたびに、新しく追加されたエンティティの主キー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. 新しく追加されたレコードにバインドするエンティティへのWPFとLINQ
- 4. Qt4のモデルにアイテムを追加し、新しく追加されたアイテムのインデックスを取得する方法
- 5. 新しく追加されたアドレス帳オブジェクトiosからABRecordIDを取得
- 6. Facebookから新しく追加されたコメントを取得する
- 7. パラメータが追加された後にSQL文を取得
- 8. 人を追加した後にテーブルビューが正しく更新されない
- 9. コアデータオブジェクトを追加した後にテーブルビューが更新されない
- 10. firebaseに追加された新しいアイテムだけを取得するには?
- 11. エンティティが永続化された後にボタンを追加します。
- 12. jQueryツリービュープラグイン崩壊/新しく追加されたノードに展開
- 13. 新しく追加された列をRailsに移入する
- 14. EF4は、新しく追加されたエンティティには常に一時キーを使用しますか?私はTryGetObjectByKeyを使用してコンテキストに新しく追加されたエンティティを見つけようとしてきた
- 15. エンティティフレームワーク追加エンティティで子エンティティも追加されます
- 16. 新しく追加されたエンティティを返すにはどうすればよいですか?
- 17. magentoデータベースカテゴリから新しく追加された製品を取得するためのMySQLクエリ
- 18. 要素が追加された後にListViewを更新する
- 19. PHPで新しく追加されたファイルの検索サーバー
- 20. 新しく追加されたメニュー項目のクリックイベント
- 21. Djangoのコマンドが新しく追加されたデータ
- 22. SVN新しく追加されたファイルをダウンロードしません
- 23. FlowPlayer - wmmodeを追加した後にダウンロードポップアップリンクを取得する: 'opaque'
- 24. サブビューを追加した後にSuperViewでタッチを取得
- 25. Cassandraで追加された最後の行の行キーの取得方法
- 26. jqgrid - 新しく追加された行を編集する
- 27. mysqlで新しく追加されたテーブルレコードを操作する
- 28. 新しく追加されたフレームワークファイルをインポートできません
- 29. 新しく追加されたコラムでもpgAdminで
- 30. WPF新しく追加されたコントロールをキャプチャするイベント?
残念ながら、エンティティはこの時点で主キー値を持っていません。 – grefly
私は分かりません。 Erangaの例で分かるように、追加されたエンティティを保存してから、保存した後に何かを実行します。データベースにプライマリキー値が割り当てられている場合は、同じエンティティが更新され、キーがあります。 – Ocelot20
ありがとうございます。 – grefly