как сериализовать Linq-to-SQL DataLoadWith.LoadWith при использовании его через WCF? - PullRequest
0 голосов
/ 29 июня 2009

В одном из наших проектов мы используем Linq-to-SQL для получения данных из нашей базы данных. Есть много таблиц, которые имеют ссылки на другие. Мы используем метод LoadWith , чтобы получить эти данные. Затем данные сериализуются и отправляются клиентскому приложению с использованием WCF. На клинде ссылки исчезли. При просмотре кода и просмотре того, что происходит, вы можете видеть, что данные доступны на сервере, но отсутствуют на клиенте.

В случае пользовательских классов вы можете добавить атрибуты для этой работы, но с Linq-to-SQL генерируется весь код.

Есть ли способ сериализации / десериализации этих данных?

Ответы [ 2 ]

0 голосов
/ 13 июля 2009

Я решил создать новый класс, содержащий только те поля, которые я хотел бы сообщить клиенту, вместо того, чтобы возвращать все, используя пару LoadWith с. Это значительно уменьшает трафик, потому что объекты, которые должны быть сериализованы, намного меньше, и я больше не сталкиваюсь с этой проблемой.

0 голосов
/ 29 июня 2009

Полагаю, LINQ to sql T4 шаблонов Damien G добавляет дополнительную поддержку для сериализации графов объектов L2S - см. Этот пост Roger Jennings для более подробной информации.

edit Забыл добавить ссылку на пост Дэмиена. Дополнительную информацию о шаблонах Дэмиена Дж. См. В его блоге .

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