EF4 POCO:快照vs自我跟踪WCF

去年,我使用实体框架(当然是.NET3.5)为我们的项目开发了一个数据访问服务,并使用Julie Lerhman的书作为状态跟踪POCO对象的指导.我们使用WCF并且还有Silverlight 3客户端.我们正在转向.NET 4.0,我想切换到使用代码生成,以消除浪费的开发人员编写POCO类和翻译类的时间.

随着我所做的研究,似乎有3种状态跟踪POCO的方法:

1)更改跟踪的代理:对我们来说似乎没有用,因为它似乎不适用于WCF序列化.

2)基于快照:当检索到POCO实体图时,拍摄快照,将客户端的返回图与该快照进行比较,并将差异进行比较…对我来说似乎很好.

3)自我跟踪实体:代码生成器生成在POCO对象内进行自我跟踪的逻辑.这似乎接近我们现在所做的,除了它是为我们生成的.

我试图找出所有这些方法之间的优缺点.我猜想1和2是“连接”的,他们需要原始查询的POCO的ObjectContext来保持实质,但是还没有能够证实这一点.我也没有看到为什么任何人真的打扰选项1的原因,因为该选项3似乎做同样的更多…

快照似乎对我来说最简单,但如果这需要一个ObjectContext长时间保持打开,我不太确定…

我只是一个初级程序员,所以在这里任何建议,特别是对于Silverlight 3(我相信选项2和3使用Silverlight 3,但2可能有问题)非常感谢.

与选项3一起执行.自我跟踪实体,因为这是他们设计的.

“自我跟踪实体针对序列化场景进行了优化”

This post给了一个很好的示范.

翻译自:https://stackoverflow.com/questions/2338661/ef4-poco-snapshot-vs-self-tracking-over-wcf

转载注明原文:EF4 POCO:快照vs自我跟踪WCF