2

エンティティが作成されたときにコードを実行しようとしています。DbContextでオーバーライドするものを探していましたが、有用なものを見つけるのに苦労していました。

もう少し説明すると...私にはいくつかのモデルがあり、これらのモデルの1つを使用してエンティティのデータを返す場合、呼び出し元のメソッドに返される前に、エンティティで何かを実行できるようにしたいと考えています。このコードは、モデルごとに最大1回定義し、すべてのエンティティで発生させたいと考えています。

EFの専門家はいますか?

ありがとう

4

1 に答える 1

7

DbContextそのようなメカニズムは提供していませんが、これを使用できます。

ObjectContext objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
objectContext.ObjectMaterialized += (sender,e) => {
    var yourEntity = e.Entity as YourEntityType;
    if (yourEntity != null) {
        // Do something
    }
};
于 2012-12-03T10:43:21.183 に答える