2011-01-21 15 views
9

Entity Frameworkコンテキストにフックする方法があるかどうかを確認したいので、POCOオブジェクトの作成が完了したらすぐにわかります。Handle Entity Framework On POCOの作成

[OnDeserializing]など、使用できる属性はありますか?目的は、データベースフェッチからコンテキストを作成した直後にオブジェクトにいくつかの値を設定することです。

ありがとうございました。

答えて

12

ObjectContextによってトリガーされたObjectMaterializedイベントにフックします。 CTP5では、あなたはDbContextのコンストラクタにそのようなあなたのDbContextをキャストする必要があります。

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

あなたがコードファーストを使用していない場合は、キャストする必要はありません。次に、関数ObjectContext_OnObjectMaterialized(object sender, ObjectMaterializedEventArgs e)を実装します。 EventArgsを使用して、現実化されたばかりのオブジェクトにアクセスすることができます。

+0

ありがとうございます。 – user326502

関連する問題