Linq到Sql对象的XML序列化?
我正在为一个使用Linq To Sql的应用程序编写审计日志。我想序列化一个对象,将其值存储在SQL Server数据库的XML列中 我的问题是,当我尝试将Linq序列化为Sql obejct时,它会尝试序列化所有关联的实体和实体集 我的第一次尝试是创建一个单独的类来存储我需要序列化的内容,然后将其传递给XmlSerializer 我想我真正想知道的是如何让XmlSerializer忽略某些类型的属性——例如实体和实体集 我是否必须编写自己的XmlSerializerLinq到Sql对象的XML序列化?,xml,linq-to-sql,xml-serialization,Xml,Linq To Sql,Xml Serialization,我正在为一个使用Linq To Sql的应用程序编写审计日志。我想序列化一个对象,将其值存储在SQL Server数据库的XML列中 我的问题是,当我尝试将Linq序列化为Sql obejct时,它会尝试序列化所有关联的实体和实体集 我的第一次尝试是创建一个单独的类来存储我需要序列化的内容,然后将其传递给XmlSerializer 我想我真正想知道的是如何让XmlSerializer忽略某些类型的属性——例如实体和实体集 我是否必须编写自己的XmlSerializer 所有和任何建议都将受到欢迎
所有和任何建议都将受到欢迎 您需要使用
DataContractSerializer
,但这仍然会序列化部分对象图
更好的解决方案是生成您自己的Linq2SQL类并应用
XmlIgnore/DataMember
属性(取决于您是使用XmlSerializer
还是DataContractSerializer
)。您需要使用DataContractSerializer
,但这仍然会序列化部分对象图
更好的解决方案是生成您自己的Linq2SQL类并应用
XmlIgnore/DataMember
属性(取决于您是使用XmlSerializer
还是DataContractSerializer
)。+1是的,使用DataContractSerializer。。。示例:请注意,DataContractSerializer
不会序列化作为对象实现一部分的字段。它对.NET3.5中的实体框架类型也是如此,我想我看到它对L2S也是如此。+1是的,使用DataContractSerializer。。。示例:请注意,DataContractSerializer
不会序列化作为对象实现一部分的字段。它对.NET3.5中的实体框架类型也是如此,我想我看到它对L2S也是如此。