【问题标题】:Entitity Framework: Change tracking in SOA with POCO approach实体框架:使用 POCO 方法在 SPA 中进行更改跟踪
【发布时间】:2011-01-19 21:01:22
【问题描述】:

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

【问题讨论】:

    标签: wcf entity-framework soa poco change-tracking


    【解决方案1】:

    我会说:

    不要在纯 SOA 环境中使用自跟踪实体: 自我跟踪实体仅在您的客户使用 生成的代理类。

    当您按照书本执行 SOA 时,您不能期望您的客户 成为.Net,甚至更多,.Net 4.0;这是唯一的场景 自我跟踪实体将在其中工作。您的服务将是 对任何其他客户无用。

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

    【讨论】:

      【解决方案2】:

      如果您能够与客户端共享模型而不是使用参考生成的元数据,那么自我跟踪实体确实可以解决这个问题。

      抽象STEs并从客户端引用它们,您将可以访问与上下文断开的跟踪。

      【讨论】:

      • 关于您对“Self-Tracking Entities”的缩写引用,请注意,对于要使用的缩写,您应该首先介绍正在缩写的内容。
      【解决方案3】:

      很遗憾,您在 Entity Framework v1.0 中找不到简单的解决方案。 有很多discussion 和很少的分辨率。这是 EF v1.0 的许多已知问题之一,并且您最终将不得不编写大量代码来处理此问题。

      在 .NET 4.0 中,ADO.NET 团队引入了Self-Tracking Entities 来解决这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-04
        • 2011-04-23
        • 2011-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-08
        • 2011-10-27
        相关资源
        最近更新 更多