Linq到Sql对象的XML序列化?

Linq到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 所有和任何建议都将受到欢迎

我正在为一个使用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也是如此。