2009-03-16 4 views
6

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

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

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

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

Благодаря

ответ

5

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

+0

Хорошо, это может быть быстрое решение ... Следующее в клиенте мне нужно заново создать граф? Поэтому в каждой стороне мне нужно преобразовать EF-> DTO и DTO-> EF? –

+0

Да. Это то, что вам нужно сделать. –

+3

Черт, это не тот ответ, которого я ждал ... :-) –

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

  • Нет связанных вопросов^_^