我有一个类型业务的模型obj,它有几个道具,这个obj主要用于我的数据访问,使用EF和我的验证和东西的所有注释。
现在我的问题是,是否有关于如何正确使用相同模型对象作为我的wcf相关操作的datacontract对象的指南。即如果我使用相同的模型对象,它将看起来像这样。
[DataContract]
public class Business
{
public int Id { get; set; }
[Required]
[DataMember]
public string Name { get; set; }
}
任何人对这方面有什么想法,最好的方式甚至不做这个?
答案 0 :(得分:1)
我会说这不是最好的主意。
WCF DataContracts不允许使用部分类,因此如果每次刷新模式时都要添加DataContract所需的注释,注释就会消失。
Web服务的最佳实践是使DataContract尽可能细长。它最好只发送绝对必要的数据。我建议制作新对象并将EF对象映射到新创建的细长对象。
答案 1 :(得分:0)
如果您使用Entity Framework 4.1 Code First或POCO,则可以执行此操作。在这种情况下,实体不会自动生成,您也不会遇到刷新实体的问题。