Обработка Entity Framework при создании POCO

Я хотел бы посмотреть, есть ли способ подключиться к контексту Entity Framework, чтобы я знал, как только он закончит создание объекта POCO.

Есть ли какие-либо атрибуты, которые я могу использовать, например, с [OnDeserializing]? Цель состоит в том, чтобы установить несколько значений для объекта, как только контекст будет создан, создавая его из выборки базы данных.

Большое спасибо.


person Aaron Drenberg    schedule 21.01.2011    source источник


Ответы (1)


Подключитесь к событию ObjectMaterialized, запущенному ObjectContext. В CTP5 вам нужно привести свой DbContext так в конструкторе для вашего DbContext:

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

Если вы не используете Code First, вам не нужно приводить. Затем реализуйте свою функцию ObjectContext_OnObjectMaterialized(object sender, ObjectMaterializedEventArgs e). Через EventArgs вы сможете получить доступ к вашему объекту, который только что материализовался.

person anon    schedule 22.01.2011