实体框架代码对象实例化的第一个回调

时间:2011-07-14 08:04:47

标签: c# entity-framework entity-framework-4 entity-framework-4.1

这可能是一个牵强附会的问题,但是只要从数据库中加载了一个新实例(作为例如linq查询的一部分),就可以在实体对象中进行回调激活。创建或类似?

这种回调的目的是从封闭的业务对象传达上下文或一组初始化参数。

1 个答案:

答案 0 :(得分:4)

DbContext肯定没有,但您可以尝试将其转换回ObjectContext并使用:

var objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
objectContext.ObjectMaterialized += ...

从数据库加载对象后会触发(我不确定它是否也为新创建的对象进行了交易)。它是所有对象的全局事件,因此您必须将一些逻辑放入处理程序以仅为某些类型运行代码。