ale*_*emb 9 serialization entity-framework datacontractserializer efpocoadapter
DataContractSerializer
要求使用DataContract
和DataMember
属性标记类和成员.但是,在我的情况下,使用EFPocoAdapater框架自动生成类,并且这些属性不存在.
如何在没有这些属性的情况下使用DataContractSerializer强制序列化所有成员?
来自Alexdej:
这改变了3.5SP1,希望你看到:http://www.pluralsight.com/community/blogs/aaron/archive/2008/05/13/50934.aspx
你不能 - 简单明了.DataContractSerializer需要该属性来获取要序列化的元素.在与XmlSerializer的合约中,它基本上只序列化所有内容(除非你明确告诉它忽略它),DataContractSerializer是"选择加入" - 你必须明确告诉它(通过属性)哪些字段和/或属性序列化.
更新:正如几位人士指出的那样,在.NET 3.5 SP1中,微软放松了这些规则 - 任何公共读/写属性都将由DataContractSerializer自动序列化.同时,你的类还需要一个无参数的默认构造函数 - 听起来像我们对XmlSerializer的确切要求.
当然,这个:
我仍然认为这些事情应该是明确和明确的,不再需要那些开辟了懒惰/草率编程的道路 - 我不喜欢它.但是如果你愿意,你现在可以使用它而不用[DataMember]明确标记你的属性.....
渣
归档时间: |
|
查看次数: |
13468 次 |
最近记录: |