我找到了[DataContract]
and [DataMember]
属性有点混乱,宁愿使用配置方法或其他内容中的代码来完成此操作。这可能吗?
您根本不必使用这些属性。DataContractSerializer
将使用 getter 和 setter 序列化所有公共属性,但如果使用导航属性序列化实体,您将很容易因“循环引用”而以异常结束。
为了避免该异常,您必须使用[DataContract(IsReference = true)]
在你的实体类上DataMember
在您想要序列化的每个属性上或IgnoreDataMember
在您不想序列化的每个属性上。
最后也是最复杂的选项是完全避免属性和自定义类实现IDataContractSurrogate
控制类型外部的序列化。
您还可以编写完全自定义的序列化过程,或者使用 XML 序列化或二进制序列化来满足其所有要求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)