Как насчет отложенной загрузки и правильных объектов ответа DTO?
- WCF возвращает пользовательский ордер или GetOrderResponse (Contracts.Order)
- Загрузка заказа из EntityModel через репозиторий (только заказ)
- Использовать автоматический преобразователь для отображения EntityModel.Order => Contracts.Order
Результат: загружены только соответствующие свойства внутри Contracts.Order:
Ex. Contracts.Order
Число
OrderDetails (=> Только это свойство загружается из-за отложенной загрузки, потому что оно отображается)
Если вы создаете SOA или веб-сервис, не позволяйте клиенту определять графики загрузки. Если клиенту необходимо указать графики загрузки, рассмотрите возможность развертывания модели с использованием служб данных WCF, это прекрасно работает.
Возможно, вы могли бы построить две системы: одну SOA и одну (только для чтения) Data Service.