Сериализация XML объектов Linq-to-Sql? - PullRequest
1 голос
/ 27 октября 2009

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

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

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

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

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

Все и любые советы будут оценены.

1 Ответ

1 голос
/ 27 октября 2009

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

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

...