Как сериализовать сущности Linq в SQL для использования в состоянии сеанса вне процесса - PullRequest
1 голос
/ 11 марта 2010

Мне нужно поместить некоторые объекты, созданные с помощью файла Linq-To-Sql .dbml, в состояние сеанса. Поскольку я использую State Server вне процесса, они должны быть сериализуемыми.

Как мне этого добиться?

Я попытался установить режим сериализации в файле .dbml на «Однонаправленный».

1 Ответ

2 голосов
/ 11 марта 2010

В большинстве случаев невозможно сериализовать сущности LINQ to SQL, потому что они ссылаются на все виды объектов, которые не могут быть сериализованы, или вы бы в итоге сериализовали огромный граф объектов.

Лучше всего создать Объекты передачи данных , которые вы специально для этого создали. Вы можете сделать такие объекты [Serializable], что позволит им сохранять их в состоянии «вне процесса» (или отправлять клиенту с помощью веб-службы). DTO дают вам полный контроль над тем, что сериализуется, потому что они будут содержать примитивные типы или набор других DTO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...