實體框架跟蹤變化是否在平原舊的C#對象的實體框架4.0的軌道變化?是否在波蘇斯
如果是的話,應該我班做一些特別的(實現一個接口/更改屬性的值時引發事件?)
另外,我怎麼能得到國家的(修改/不變等) POCO?有沒有辦法瞭解房產的「舊」價值?
實體框架跟蹤變化是否在平原舊的C#對象的實體框架4.0的軌道變化?是否在波蘇斯
如果是的話,應該我班做一些特別的(實現一個接口/更改屬性的值時引發事件?)
另外,我怎麼能得到國家的(修改/不變等) POCO?有沒有辦法瞭解房產的「舊」價值?
我通過快速谷歌搜索發現POCO in the Entity Framework: Part 1 - The Experience。見Part 3 – Change Tracking with POCO。
有兩種類型的變化的跟蹤 可能性與POCO:基於快照 更改跟蹤和通知 基於更改跟蹤與代理。在 這篇文章中,我想進一步鑽取 這兩個選項,並涵蓋了 這兩種優點和缺點,以及 使用這兩種方法的含義。
我不知道你如何使用POCO的EF(沒有代碼發佈的問題),但是如果你我們由EF創建的實體,你可以跟蹤所做的更改。這MSDN article解釋它。您還可以閱讀此blog post甚至更多的細節。如果這些不幫助你,你可以更新的代碼示例你的問題,告訴您如何使用EF以及如何使用POCO的吧。試圖表現出你希望看到完成與POCO的使用模擬了代碼示例什麼的例子。
問題已更改爲詢問有關波蘇斯即將到來的.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的)
到目前爲止創建滿足這些要求的類的最簡單的方法是使用EF設計在Visual Studio中創建一個EDMX文件。該文件的一部分包含CSDL,它定義了數據的概念模型,換句話說就是 - 對象。 EDMX文件還定義了SSDL(存儲/數據庫)和MSL(SSDL和CSDL之間的映射)。這個CSDL將被用於生成將與EF一起工作的類。
POCO支持即將通過.net 4.0。
如果您使用動態生成的代理(如果您的類滿足要求,這是POCO的默認行爲),則會跟蹤實體上的更改。
的問題是關於EF 4.0,而不是當前的版本... – 2009-12-19 00:40:55
哈哈。它本來不是。 Dam厚臉皮,就是在我回答之後改變問題。 – 2009-12-19 00:45:28