DataContract来自Entity Framework Code-First类的实体

时间:2017-02-11 09:38:07

标签: c# entity-framework wcf

我使用 EF6 代码优先构建数据库,我需要 WCF服务。我的DbSet会是这样的:

 public class Customer
{
    [Key]
    public long Id { get; set; }
    public string Name { get; set; }
    public string Town { get; set; }
    ...
    public virtual ICollection<Invoice> Invoices { get; set; }
}

我希望使用 WCF服务中的get-method获取客户的数据。 我提出了将整个类作为 [DataContract] 的想法,每个属性都是 [DataMember]

到目前为止应该没有问题,我在网上查看是否有任何建议或“最佳实践”。在这种情况下。所以我发现{strong> Pein 中的this question on stackoverflow说:

  

首先,您应该从不将整个实体公开为数据协定,因为它是域对象,而不是数据传输对象。

所以我的问题是:为什么不应该将实体作为数据合同?如果是这样,是否有更好的方法让不同的类具有数据合同,以便从实体接收和发送我的数据?

提前致谢!

0 个答案:

没有答案