Служба WCF, разоблачающая DTO или Entity - PullRequest
6 голосов
/ 16 марта 2009

Я прочитал вопросы и ответы по этой теме, но у меня все еще есть вопрос без ответа.

Если я создам метод для преобразования Entity в DTO, я столкнусь с некоторыми методами циклического вызова (вероятно, вызванными ошибками в Model), например:

Класс продукта имеет свойство Поставщик , которое указывает на класс поставщика, который содержит свойство List со всеми поставляемыми продуктами. Поэтому, если я создаю GetProductDTO (Product метод, который возвращает класс ProductDTO, мне нужно будет вызвать GetSupplierDTO (сущность поставщика) для каждого продукта, но этот последний метод должен вызвать GetProductDTO для каждого продукта в списке поставляемых продуктов. .

Итак, я ищу шаблон или лучшую практику для создания EntityModel -> WCF Service -> Prism WPF application.

Спасибо

1 Ответ

5 голосов
/ 16 марта 2009

Как правило, для целей DTO вы можете просто не сериализовать какие-либо «родительские» свойства. Часто вы видите DTO со нет навигационными свойствами, за исключением строго связанных данных (например, order-header => order-detail, но у вас не будет order-header => клиент - только ключ клиента; вы выбираете клиента отдельно). При таком подходе существует однонаправленный путь для сериализации / десериализации любого графа, и он должен работать нормально.

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