【问题标题】:How to share entity class between EF, WCF Data Services and Clients?如何在 EF、WCF 数据服务和客户端之间共享实体类?
【发布时间】:2012-07-09 05:28:42
【问题描述】:

我有一个 WPF 客户端应用程序,它连接到托管 WCF 数据服务和 WCF 服务的 IIS。

理想情况下,我想定义一个代表用户的类,然后能够在 WPF 客户端和 Web 服务器项目中重用相同的类实现。因此,我的验证代码和辅助方法只在一个地方进行了实现和单元测试。比如……

1, WPF client calls a WCF Services operation and gets back a User entity.
2, WPF client calls WCF Data Services and gets back a User entity.

可以使用与 WCF 服务和实体框架相同的用户类来获取 WCF 数据服务。如果是这样,是通过自我跟踪实体、POCO 类还是其他选项?

【问题讨论】:

  • 谢谢,但您发布的链接已有 2 年多的历史,并且数据服务/实体框架在此期间发生了重大变化。所以我怀疑现在有更好的解决方案。至少我希望如此!
  • 我认为没有更好的解决方案。
  • 谢谢,我会坚持只使用 WCF 服务并放弃数据服务。使用自我跟踪实体似乎是更好的选择。

标签: wpf wcf entity-framework wcf-data-services


【解决方案1】:

似乎您无法以任何有意义的方式共享相同的课程。所以我决定改用自定义 WCF 服务。

【讨论】:

    【解决方案2】:

    其实没那么难。 您可以使用 T4 生成数据服务代理,而不是常规的“添加服务引用”,然后您可以使用相同的命名空间来共享相同的实体。 这是执行此操作的基本 T4 模板。 (第二个好处是您可以对模板进行自定义)

    Here你可以找到演示项目(如果你读希伯来语,源是here),在演示中我使用它来混合STE,但你可以将它与POCO或其他实体一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多