2009-10-27 5 views
1

Я работаю над журналом аудита для приложения, которое использует Linq-To-Sql. Я хочу сериализовать объект для хранения его значений в столбце XML в базе данных SQL Server.XML Сериализация объектов Linq-to-Sql?

Моя проблема заключается в том, что при попытке сериализации привязки Linq-To-Sql она пытается сериализовать все связанные сущности и сущности.

Моя первая попытка решения заключалась в том, чтобы создать отдельный класс tos, чтобы разделить то, что мне нужно для сериализации, а затем передать это XmlSerializer.

Я полагаю, что я действительно хочу знать, как заставить XmlSerializer игнорировать определенные типы свойств - например, сущности и сущности.

Должен ли я написать свой собственный XmlSerializer?

Все и любые рекомендации будут оценены.

ответ

1

Вам необходимо использовать DataContractSerializer, но это все равно сериализует граф частичных объектов.

Лучшим решением является создание собственных классов Linq2SQL и применение атрибутов XmlIgnore/DataMember (в зависимости от того, используете ли вы XmlSerializer или DataContractSerializer).

+0

+1 Да, используйте DataContractSerializer ... sample: http://social.msdn.microsoft.com/Forums/en-US/linqtosql/thread/73e82932-d41c-4e51-a91a-704aead00526 – KristoferA

+0

Будьте осторожны, чтобы 'DataContractSerializer' не сериализует поля, которые являются частью реализации объектов. Он делает это для типов Entity Framework в .NET 3.5, и я думаю, что видел, что он делает то же самое для L2S. –

Смежные вопросы