POCO和自我追踪实体之间的差异

时间:2013-03-24 07:29:12

标签: entity-framework

我知道POCO,我最近听说过自我跟踪实体。任何人都可以解释POCO和STE之间的差异

1 个答案:

答案 0 :(得分:1)

自跟踪实体是在实际实体类的getter / setter中具有持久性逻辑的实体。简而言之,他们是了解如何自救的实体。

这与POCO实体(Plain Old CLR Objects)不同,POCO实体是仅存储实体(即它们没有内部逻辑)。

EF与处理这些方法的主要区别在于EF如何检测变化。 STE告诉EF关于变化的信息,EF通常使用跟踪图来检测附加的变化。

注意:在最新版本的EF

中不推荐使用STE

POCO和STE与EF之间也存在一些中间立场,称为POCO代理实体。对于此实体框架,将重载POCO类的属性并创建一个代理,该代理将在发生更改时告知EF。为此,您需要在类上创建虚拟的所有属性。 POCO代理在某些情况下可以表现更好,尤其是在跟踪图很大时。但是,在所有情况下,性能并不是更好,请参阅Arthur Vickers (from EF) post on POCO Proxies

我的理解是POCO Proxies旨在取代STE。