2011-01-21 43 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