2011-01-21 10 views
9

Tôi muốn xem có cách nào để móc vào ngữ cảnh khung Entity hay không, vì vậy tôi biết ngay khi nó đã hoàn thành việc tạo đối tượng POCO.Xử lý khung thực thể Khi tạo POCO

Có bất kỳ thuộc tính nào tôi có thể sử dụng, chẳng hạn như với [OnDeserializing] không? Mục đích là thiết lập một vài giá trị trên đối tượng ngay sau khi hoàn cảnh được tạo ra từ một cơ sở dữ liệu tìm nạp.

Cảm ơn rất nhiều.

Trả lời

12

Móc vào sự kiện ObjectMaterialized được bắn bởi ObjectContext. Trong CTP5, bạn cần truyền DbContext của bạn như vậy trong hàm khởi tạo cho DbContext:

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

Nếu bạn không sử dụng Mã đầu tiên, bạn không cần phải truyền. Sau đó, thực hiện chức năng của bạn ObjectContext_OnObjectMaterialized(object sender, ObjectMaterializedEventArgs e). Thông qua EventArgs, bạn sẽ có thể truy cập đối tượng của mình, vật thể vừa được vật chất hoá.

+0

Cảm ơn rất nhiều. – user326502