2013-10-21 43 views

回答

2

是的,从.NET 3.5 SP1开始,你不需要必须在你的数据类中使用[DataContract][DataMember];这适用于全部 WCF的形状和样式。如果完全忽略这些属性,WCF将像XML序列化程序那样对待类(使用/序列化所有公共属性)。

但是:做这个你放弃了很多的灵活性:

  • 不能定义您的数据的XML命名空间收缩
  • 不能排除的公共属性从系列化上通过省略[DataMember]就可以了.......
  • 不能定义属性的顺序在序列化的XML了
  • 多地被使用.....
+0

这是相同的方法/系统,需要ID是在主键(一个或多个)?谢谢,你能提供关于“更多...”的详细信息吗? – Maslow

+0

@Maslow:好吧,'[DataMember]'上还有一个'IsRequired'选项,当然如果你省略那个属性就不能使用它;此外,通过'Name ='值,您可以重命名属性以不同的名称进行序列化 - 当然,如果您省略'[DataMember]',则不能使用该功能。 –

+0

@Maslow:不,这绝对没有任何**与数据库相关的主键问题/约定...... WCF根本不知道数据库 –

相关问题