【发布时间】:2012-02-22 13:04:56
【问题描述】:
场景:来自数据模型的实体被传递到具有各种信息的 WCF Web 服务中,保存到数据库中,然后返回完全填充有附加信息的对象。
public class Request
{
public virtual Guid RequestID { get; set; }
public virtual string RequestType { get; set; }
public virtual System.DateTime CreatedDate { get; set; }
//More properties here populated from DB
}
[OperationContract]
Request CreateRequest(Request input);
在此示例中,仅当记录插入数据库时才会填充 RequestID 和 CreatedDate,因此在初始请求期间不应显示。但是,当返回对象时,它们应该是可见的。
我们目前采用的方法是在我们的 Web 服务实现项目中创建两个类(RequestInput、RequestOutput),它们继承自实体。 然后,我们将在需要的各种属性上添加 [DataMember] 属性,在应该忽略的属性上添加 [IgnoreDataMember]。
这是正确的方法吗?
【问题讨论】:
标签: c# wcf web-services datamember data-members