2010-02-22 55 views
8

在我们的分层应用程序中,我们通过WCF调用访问数据库。我们正在创建和处理每个请求的上下文。另外我们正在使用POCO方法。
我的问题是,在纯POCO模型(完全持久无知波苏斯)是可以跟踪的变化,而我们正在创造和处理每个请求的情况下(如前面的背景下被布置在服务调用)?如果是的话EF如何处理这种情况?据我可以看到2机制(基于快照的变更跟踪和基于通知的变更跟踪代理)将无法处理这个问题?如果不是,我们应该如何处理上下文以便我们能够跟踪这些变化?Entitity Framework:使用POCO方法更改SOA中的跟踪

回答

2

不幸的是,你不会在实体框架v1.0中找到一个简单的解决方案。 已经有很多discussion和小分辨率。这是EF v1.0中众多已知问题之一,并且您将不得不编写大量代码来处理此问题。

在.NET 4.0的ADO.NET团队纷纷推出Self-Tracking Entities来解决这个问题非常。

6

我会说:

不要在纯SOA环境中使用自跟踪实体:当你的客户端使用 生成的代理类 自追踪机构才有效。

当你通过本书做SOA时,你不能指望你的客户端 是.Net甚至更多.Net 4.0;哪个是唯一的场景 其中自我跟踪实体将工作。您的服务将是 对任何其他客户无用。

只是我的2美分, 问候, 公园

3

自跟踪实体,如果你有能力与客户分享模式,而不是使用由基准生成的元数据确实解决了这个问题。

摘要STE并从客户端引用它们,您将有权访问与上下文断开连接的跟踪。

+0

关于你提到的缩写引用*“自跟踪实体” *,请注意,缩写使用,你首先应该介绍的是被缩写。 – XenoRo 2012-11-16 14:45:14