エンティティに「デフォルト」の Id 生成サポートを実装したいと考えています。
エンティティを保存するとき、エンティティの id 値がまだ設定されていない場合にのみ、EntityFramework が生成するようにしたいと思います。ID に null 以外のゼロ以外の値が既に含まれている場合は、エンティティをデータベースに保存するときに、そのエンティティ ID を保持したいと考えています。
レガシ データ モデル (古いデータベースから作成された EntityFramework モデル) から新しく作成された (モデル ファースト) EntityFramework モデルにデータを移行しています。旧モデルをA、新モデルをTとしましょう。
通常、新しいモデルを長期間使用するために、保存時に T エンティティに Id を設定する必要があります (それらはすべて int64 です)。
現在、移行元の対応する A エンティティの ID に基づいて、T エンティティ ID を明示的に割り当てています。これは、移行結果を簡単に確認できるようにするためです。
ただし、移行ルーチンで T エンティティの ID を A エンティティと同じ ID に割り当てることはできますが、エンティティを保存した後、ID 値が変更されています。
Tモデルのすべてのエンティティのデフォルトの保存方法をオーバーライドして、保存する前にエンティティにまだ設定されていない場合にのみid値が割り当てられるようにする方法はありますか?
ここで他の EntityFramework/Id の質問をいくつか見てきましたが、私の考えでは、同じことを尋ねているものはありません。
リードをありがとう。