Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Handle Entity Framework On Create POCO

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.

like image 303
Aaron Drenberg Avatar asked Feb 03 '23 22:02

Aaron Drenberg


1 Answers

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.

like image 120
anon Avatar answered Apr 27 '23 22:04

anon