9

I'd like to see if there's a way to hook into the Entity Framework context so I know as soon as it has finished creating a POCO object.

Are there any attributes I can use, such as with [OnDeserializing]? The purpose is to set a few values on the object as soon as the context is done creating it from a database fetch.

Thanks very much.

Aaron Drenberg
  • 1,117
  • 2
  • 11
  • 29

1 Answers1

12

Hook into the ObjectMaterialized event fired by ObjectContext. In CTP5, you need to cast your DbContext like so in the constructor for your DbContext:

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

If you are not using Code First, you don't need to cast. Then implement your function ObjectContext_OnObjectMaterialized(object sender, ObjectMaterializedEventArgs e). Via the EventArgs, you will be able to access your object, which has just been materialized.

anon
  • 4,578
  • 3
  • 35
  • 54