0

我有一个包含实体框架项目的 WCF 服务。

我还有用于公开数据的 DTO 类。实体对象被映射到 DTO 对象。

当我生成服务代理时,我同时看到了实体对象和 DTO 对象。

如果我有一个名为 Product 的表,我会得到一个 Product 和一个 Product1 参考。

这没有发生过。

我做了什么导致这种情况以及如何阻止我的实体对象被暴露?

更多信息:

当 EF 从数据库生成模型对象时,它会添加一个数据协定属性,如下所示:

[EdmEntityTypeAttribute(NamespaceName="KernMobile_V5Model", Name="JobMaster")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class JobMaster : EntityObject

我认为这意味着它将被服务公开?

4

1 回答 1

2

服务仅公开服务操作中使用的对象,或指定为要公开的已知类型。

如果您的客户端代理正在为这些实体框架对象生成一个对象,那么您必须以某种方式通过您的服务公开它们。这可以是请求或响应对象,也可以是这些对象的属性。

于 2013-06-20T00:34:10.350 回答