2011-05-24 163 views
4

如果我想使用实体框架4作为我的数据层,并且想要将我的实体发送到另一个层,无论它是通过WCF还是其他机制,然后希望能够更新实体并将它们发回以更新/删除/插入是最好使用自我跟踪实体还是使用poco对象?实体框架和自我跟踪实体与POCO

如果可能的话,我宁愿使用POCO对象,因为如果可能,我不想依赖其他层的实体框架,但我不知道将POCO重新连接到上下文有多困难。

回答

8

这是太多的问题相结合,其中大部分已经有人对SO:

使用国营贸易公司不会让你的上层依赖于EF,但如第二个链接中所述,STE对于每个应用都不是解决方案。国营贸易企业有一些其他的限制,例如即使在服务器端you cannot use lazy loading,你cannot apply changes when entity in the same key already exists在上下文等

使用波苏斯和WCF意味着你将与分离的实体工作,你将不得不说EF发生了什么变化。这在updating single entity的情况下可以很简单,也可以为update only some fields from single entity,但这可能是very complex when updating the entity graph,尤其是当您可以删除客户端上的关系时(在这种情况下,最简单的方法是首先加载实体图并将传入的更改合并到附加实体)。