如何在EF,WCF数据服务和客户端之间共享实体类?

时间:2012-07-09 05:28:42

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

我有一个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 个答案:

答案 0 :(得分:0)

似乎你无法以有意义的方式分享相同的类。所以我决定坚持使用自定义WCF服务。

答案 1 :(得分:0)

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

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