2011-01-21 21 views
9

我想知道是否有办法挂钩实体框架上下文,因此一旦完成创建POCO对象就知道了。在创建POCO时处理实体框架

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

非常感谢。

回答

12

挂钩ObjectContext触发的ObjectMaterialized事件。在CTP5,你需要投你的DbContext像这样在构造函数中为您的DbContext:

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

如果你不使用代码首先,你不需要投。然后执行你的功能ObjectContext_OnObjectMaterialized(object sender, ObjectMaterializedEventArgs e)。通过EventArgs,您将能够访问刚刚实现的对象。

+0

非常感谢。 – user326502 2011-01-25 03:50:17