Entitity Framework:使用POCO方法在SOA中更改跟踪

rov*_*sen 8 wcf soa entity-framework change-tracking poco

在我们的分层应用程序中,我们通过WCF调用访问数据库.我们正在根据请求创建和处理上下文.我们也在使用POCO方法.
我的问题是,在纯POCO模型(完全持久的无知POCO)中,是否有可能跟踪变化,而我们正在为每个请求创建和处理上下文(因为之前的上下文是在该服务调用中处理的)?如果是,EF如何处理这种情况?据我所知,2个机制(基于快照的变更跟踪和基于通知的代理变更跟踪)将无法处理这个问题?如果没有,我们应该如何处理上下文,以便我们能够跟踪变化?

Koe*_*enJ 6

我会说:

不要在纯SOA环境中使用自跟踪实体:自跟踪实体仅在客户端使用生成的代理类时才起作用.

当您通过本书进行SOA时,您不能指望您的客户是.Net,甚至更多.Net 4.0; 这是自我跟踪实体工作的唯一场景.您的服务对任何其他客户都没用.

只是我的2美分,问候,科恩


小智 2

不幸的是,您在 Entity Framework v1.0 中找不到简单的解决方案。讨论很多,但解决方案却很少。这是 EF v1.0 的众多已知问题之一,无论如何您最终将不得不编写大量代码来处理这个问题。

在 .NET 4.0 中,ADO.NET 团队引入了自我跟踪实体来解决这个问题。