У меня есть проект ASP.NET MVC 4, где контроллер вызывает уровень службы WCF, который вызывает бизнес-уровень, который использует репозиторий объектов EF 5.0. Затем результаты возвращаются в Контроллер как объекты POCO.
Он отлично работает, пока служба WCF напрямую упоминается как библиотека, но я знаю, что она не будет работать, указанная как служба, потому что их нужно будет сериализовать, а с включенным ProxyCreation это невозможно.
Я не хочу создавать DTO, потому что я использую сгенерированные сущности POCO, поэтому, по моему скромному мнению, они существуют. Я хочу отслеживать изменения только до того, как объекты POCO достигнут уровня обслуживания.
Многие люди говорят об использовании DTO, даже если они идентичны POCO. Если я сделаю это, я смогу создать автоматически сгенерированные скопированные классы просто с разными именами, чтобы они были «POCO с отключенным прокси как DTO», что было бы немного странно .
Могу ли я убить прокси-класс POCO таким образом, чтобы объект мог быть сериализован при возврате из уровня сервиса?
Также я не знаю, является ли эта идея хорошей практикой. Но было бы здорово отправить «чистые» объекты на мои Контроллеры, готовые для меня, сопоставленные с ViewModels. Я тоже ищу производительность.