WCF是否有自动为我的实体类实现DataContract和DataMember属性的编织器?
我们正在将系统的本地后端迁移到WCF服务。我们有太多的实体类,在每个实体类中添加该属性真的需要花费大量的时间。
请参阅此link以获取weaver的参考信息,它适用于WPF的INotifyPropertyChange,它确实有帮助。
我的代码在C#,framework 4.0中,在Visual Studio 2010 Pro中构建。
任何帮助将不胜感激。 提前谢谢。
答案 0 :(得分:1)
您不必在所有实体上应用DataContract / DataMember属性。
默认情况下,DataContractSerializer会推断数据协定并序列化所有公开可见的类型。所有公共读/写属性和类型的字段都是序列化的。
答案 1 :(得分:1)
根据您使用的技术,您可能决定不直接公开您的实体类。例如,公开实体框架实体并不是一个好主意,因为这也会序列化你可能不想要的基类。
我建议您尝试序列化您的某个实体,然后查看生成的客户端代码,以查看是否有任何不受欢迎的实体。
如果出现问题,您可能需要设计与每个实体对应的数据传输对象。这可以使用代码生成来完成,因此您不必手动完成所有操作。