这可能是一个牵强附会的问题,但是只要从数据库中加载了一个新实例(作为例如linq查询的一部分),就可以在实体对象中进行回调激活。创建或类似?
这种回调的目的是从封闭的业务对象传达上下文或一组初始化参数。
答案 0 :(得分:4)
DbContext
肯定没有,但您可以尝试将其转换回ObjectContext
并使用:
var objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
objectContext.ObjectMaterialized += ...
从数据库加载对象后会触发(我不确定它是否也为新创建的对象进行了交易)。它是所有对象的全局事件,因此您必须将一些逻辑放入处理程序以仅为某些类型运行代码。