2009-12-19 54 views
2

實體框架跟蹤變化是否在平原舊的C#對象的實體框架4.0的軌道變化?是否在波蘇斯

如果是的話,應該我班做一些特別的(實現一個接口/更改屬性的值時引發事件?)

另外,我怎麼能得到國家的(修改/不變等) POCO?有沒有辦法瞭解房產的「舊」價值?

回答

0

我不知道你如何使用POCO的EF(沒有代碼發佈的問題),但是如果你我們由EF創建的實體,你可以跟蹤所做的更改。這MSDN article解釋它。您還可以閱讀此blog post甚至更​​多的細節。如果這些不幫助你,你可以更新的代碼示例你的問題,告訴您如何使用EF以及如何使用POCO的吧。試圖表現出你希望看到完成與POCO的使用模擬了代碼示例什麼的例子。

1

問題已更改爲詢問有關波蘇斯即將到來的.NET 4.0的支持。正如最初所問,下面的答案是關於現有的.net 3.5支持。有關.net 4.0 EF POCO支持的信息,請參閱其他答案。


否。實體框架的當前版本不支持POCO。

爲了通過EF是消耗品, 實體類必須:

  • 派生從EntityObject類或實現至少一個強制IPOCO 接口:IEntityWithChangeTracker。 如果實體參與 關係,它也必須實現 IEntityWithRelationships接口。 實現這些接口是不 硬,但會導致實體對象到 對EF組件的依賴關係, 其有時不期望

  • 提供組件,類和屬性級別的屬性來定義從CLR空間 映射到模型空間 (我們稱這些OC映射屬性)

  • 使用實體框架提供的關係類: 的EntityReference, EntityCollection和 RelationshipManager而不是CLR 個集合(列表,ICollection的)

source

到目前爲止創建滿足這些要求的類的最簡單的方法是使用EF設計在Visual Studio中創建一個EDMX文件。該文件的一部分包含CSDL,它定義了數據的概念模型,換句話說就是 - 對象。 EDMX文件還定義了SSDL(存儲/數據庫)和MSL(SSDL和CSDL之間的映射)。這個CSDL將被用於生成將與EF一起工作的類。

POCO支持即將通過.net 4.0。

+0

的問題是關於EF 4.0,而不是當前的版本... – 2009-12-19 00:40:55

+1

哈哈。它本來不是。 Dam厚臉皮,就是在我回答之後改變問題。 – 2009-12-19 00:45:28