【发布时间】:2013-06-19 23:39:49
【问题描述】:
我有一个包含实体框架项目的 WCF 服务。
我还有用于公开数据的 DTO 类。实体对象被映射到 DTO 对象。
当我生成服务代理时,我看到了实体对象和 DTO 对象。
如果我有一个名为 Product 的表,我会得到一个 Product 和一个 Product1 引用。
这在过去没有发生过。
我做了什么导致这种情况以及如何阻止我的实体对象被暴露?
更多信息:
当 EF 从数据库生成模型对象时,它会添加一个数据协定属性,如下所示:
[EdmEntityTypeAttribute(NamespaceName="KernMobile_V5Model", Name="JobMaster")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class JobMaster : EntityObject
我假设这意味着它将被服务公开?
【问题讨论】:
-
产品 DTO 是什么样的?您是否有可能使用在 EF 类中声明的 EF 枚举?任何声明为 EF 类型的 DTO 属性?
-
似乎是导致它的代理的生成。我有一个旧版本的客户端。当我从中生成代理时,一切都很好 - 没有重复。当我从最新的客户端生成代理时,我得到了重复。什么可能导致这种情况?
标签: wcf entity-framework