考虑以下简单示例:
[DataContract("{0}Base")]
public class Base<T> where T : Entity<T>
{
// Common methods & properties. No WCF exposed properties
}
[DataContract]
public class Employee : Base<Employee>
{
// WCF exposed properties
}
基类Base没有WCF服务使用者感兴趣的属性,但WCF强制我也使用[DataContract]属性注释Base类。这基本上在服务客户端上显示为Employee : EmployeeBase
,EmployeeBase
是一个没有属性的空类。
我不想以这种方式将Base<T>
类暴露给服务,那么我的选择是什么?
Base<T>
。这可能吗?怎么样?感谢。
答案 0 :(得分:3)
hiearchy中的每个类都必须是可序列化的/ DataContract。如果你不想公开hiearchy,你必须使用DTO,或者你可以尝试为你的Employee类实现IDataContractSuroggate。