私はModel Firstアプローチを使用していますが、属性が[NotMapped]のフラグをほとんど持たないMyEntityという抽象クラスが1つあります。すべてのエンティティはMyEntityから継承されます。 ObjectMaterializedイベントハンドラの中で、エンティティがマテリアライズされていることを示すフラグと、自分のアプリケーションに関連するものを設定します。エンティティフレームワーク6 ObjectMaterializedイベントとSaveChangesオーバーライド
私のSaveChanges()オーバーライドの中で、私はbase.SaveChanges()を呼び出し、それらのフラグをリセットします。実際のデータは変更されていませんが、データベースへのエンティティの更新が行われるようです。
私の質問は以下のとおりです。
それらを変更すると、データベースにエンティティの更新を引き起こし、なぜこれらのフラグは、データベースの列にマップされていませんか?
すべてのエンティティによって継承された抽象クラスの代わりに、これらのフラグを部分クラスに配置しようとしました。これらのフラグの変更は依然としてデータベースへのエンティティの更新を引き起こすようです。何故ですか?
また、base.SaveChanges()より前の値をリセットした後も、これらのフラグのプロパティを変更しないで設定しようとしました。これによりデータベースが更新されることはありませんが、アプリケーションが正しく動作しません。このアプローチは、データベースの更新を避けるために基本的にエンティティ/プロパティの状態と関係しています。しかし、それがどんな副作用を引き起こす可能性がありますか