我将 WCF 数据服务用于返回 JSON 响应的 RESTful API。
考虑这个对象:
[Table("person")]
public class Person
{
[Column("dob", TypeName = "datetime")]
public DateTime DateOfBirth { get; set; }
[NotMapped]
public int Age
{
get { return CalculateAge(); }
set { }
}
}
WCF 不会像我期望的那样对待这个对象。我的服务请求完全忽略了 Person 对象序列化中的 Age 属性。
我一直在使用一种解决方法,将 Age 属性映射到一个虚拟数据库列,然后创建一个什么都不做的 setter。多么丑陋的黑客!有没有更好的方法让 DataService 返回未映射到数据库列的属性?