自动操作实体框架实体以添加额外信息

Shu*_*mii 2 c# entity-framework poco dbcontext

我想在创建任何实体时运行一些代码.一直在DbContext中查找要覆盖的内容,但在查找有用的内容时遇到一些困难.

为了解释一下......我有几个模型,当我使用其中一个模型在实体中返回数据时,我希望能够在返回到调用方法之前对实体做一些事情.我想最多为每个模型定义一次这个代码,我想让它发生在所有实体上.

那里有EF专家吗?

谢谢

Lad*_*nka 7

DbContext 不提供这样的机制,但你可以使用这个:

ObjectContext objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
objectContext.ObjectMaterialized += (sender,e) => {
    var yourEntity = e.Entity as YourEntityType;
    if (yourEntity != null) {
        // Do something
    }
};
Run Code Online (Sandbox Code Playgroud)