处理创建POCO的实体框架

时间:2011-01-21 23:57:02

标签: entity-framework events poco

我想知道是否有办法挂钩实体框架上下文,所以我知道它一旦完成创建POCO对象。

我可以使用任何属性,例如[OnDeserializing]吗?目的是在完成上下文后立即在对象上设置一些值,从数据库提取创建它。

非常感谢。

1 个答案:

答案 0 :(得分:12)

挂钩到ObjectContext触发的ObjectMaterialized事件。在CTP5中,您需要在DbContext的构造函数中强制转换DbContext:

((IObjectContextAdapter)this).ObjectContext.ObjectMaterialized += 
    this.ObjectContext_OnObjectMaterialized;

如果您不使用Code First,则无需强制转换。然后实现您的函数ObjectContext_OnObjectMaterialized(object sender, ObjectMaterializedEventArgs e)。通过EventArgs,您将能够访问刚刚实现的对象。