将对象建模为DataContract对象呢?

时间:2012-05-15 00:56:00

标签: c# wcf entity-framework

我有一个类型业务的模型obj,它有几个道具,这个obj主要用于我的数据访问,使用EF和我的验证和东西的所有注释。

现在我的问题是,是否有关于如何正确使用相同模型对象作为我的wcf相关操作的datacontract对象的指南。即如果我使用相同的模型对象,它将看起来像这样。

[DataContract]
public class Business
{
    public int Id { get; set; }
    [Required]
    [DataMember]
    public string Name { get; set; }
}

任何人对这方面有什么想法,最好的方式甚至不做这个?

2 个答案:

答案 0 :(得分:1)

我会说这不是最好的主意。

WCF DataContracts不允许使用部分类,因此如果每次刷新模式时都要添加DataContract所需的注释,注释就会消失。

Web服务的最佳实践是使DataContract尽可能细长。它最好只发送绝对必要的数据。我建议制作新对象并将EF对象映射到新创建的细长对象。

答案 1 :(得分:0)

如果您使用Entity Framework 4.1 Code First或POCO,则可以执行此操作。在这种情况下,实体不会自动生成,您也不会遇到刷新实体的问题。