DbContext の ModelBuilder で ObjectContext を使用する方法はありますか? 更新でオブジェクト全体を変更せず、変更されたプロパティのみを更新するカスタマイズされたプロパティ コードがあるため、POCO を使用したくありません。また、EntityObject を使用するシリアライゼーションおよび監査コードも多数あります。
poco は EntityObject でプロキシを作成するため、クラスを EntityObject から派生させたいと考えています。プロキシは必要ありません。また、CreateSourceQuery も頻繁に使用します。唯一の問題は、EDMX ファイルとその大きな接続文字列構文 web.config です。
EDMX ファイルを取り除く方法はありますか? リバース エンジニアリング データベースに基づいて新しいクラスを動的にコンパイルできるので便利です。
また、poco の代わりに EntityObject で DbContext を使用したいと考えています。
内部ロジック
- ObjectStateEntry で使用可能な Save Changes で変更されたプロパティにアクセスし、それらを古い値と新しい値で Audit に保存します。
- ほとんどの場合、たとえば Navigation プロパティの Any 条件のみをチェックする必要があります
User.EmailAddresses.CreateSourceQuery()
.Any( x=> x.EmailAddress == givenAddress);
- XmlIgnore などのプロパティ属性にアクセスするには、プロパティで定義された属性に大きく依存します。