Кто-нибудь использует POCO Adapter для Entity Framework в производстве?

StackOverflow https://stackoverflow.com/questions/901295

Вопрос

Читая об отсутствии постоянства и невежестве в Entity Framework, я часто натыкаюсь на Адаптер POCO.Вопрос в том, использует ли кто-нибудь это в производстве, как это происходит и каковы подводные камни?

Я рассматриваю две альтернативы для разработки приложения:используйте POCOs с этим адаптером в бизнес-логике и заставьте уровень представления использовать их или создайте уровень сервиса, преобразующий между объектами EF и DTO:(1) Объекты EF <-> Адаптер <-> Бизнес-объекты POCO <-> Презентация или (2) Объекты EF <-> Уровень обслуживания <-> DTO <-> Презентация.Первый подход кажется более чистым, но я несколько сомневаюсь в том, что POCO Adapter является не очень стандартным решением и может содержать некоторые недостатки, не очевидные прямо сейчас.

Это было полезно?

Решение

EFPocoAdapter устарел в пользу Entity Framework 4.0.В бета-версия была анонсирована менее недели назад, и вы уже можете загрузить бета-версию 1, если вы подписчик MSDN.

Больше нет причин использовать EFPocoAdapter.Я бы также посоветовал вам ознакомиться с ADO.NET Entity Framework Блог команды дизайнеров с перечнем всех функций EF 4.0 можно ознакомиться здесь.

Также взгляните на этот пост в блоге: POCO в Entity Framework:Часть 1 - Опыт.

Что касается моего опыта работы с EFPocoAdapter, я был / остаюсь доволен поддержкой POCO, отложенной загрузки и n-уровневых сценариев.Entity Framework продолжает развивать это, предоставляя, среди прочего, шаблоны T4, чего мне действительно не хватало (хотя многие предпочитают создавать свои классы POCO вручную).Другими проблемами, которые у меня были, были проблемы с сериализатором с JavaScriptSerializer, который не обрабатывает циклические ссылки, в то время как DataContractSerializer, который это делает, требует атрибутов класса / члена, которые до шаблонов T4 были невозможны с автоматически сгенерированными классами.

EFPocoAdapter всегда задумывался как своего рода промежуточная платформа для получения отзывов от сообщества и разработки набора функций для EF 4.0.Хотя это немного грубо по краям, мне удалось выполнить свои требования, хотя и после нескольких обменов мнениями с Ярославом.Это и поддержка были очень унылыми (мало людей на форумах или переполнение стека).

Другие советы

Возможно, вы захотите использовать Автоматический преобразователь.Затем вы можете написать объекты EF, объекты POCO и DTO-ы, если это необходимо.Два набора сущностей кажутся немного накладными, но когда вам нужно быть настойчивым в незнании, тогда это кажется самым простым способом с AutoMapper.

Введение в AutoMapper

Я просто хотел бы добавить к этой теме, что я использую Entity Framework v4 с моделью POCO, созданной с использованием генератора C # POCO в рабочей среде (около шести месяцев), и она работает очень хорошо.

Есть целый несколько уловов однако при использовании их с сервисами WCF, поэтому, если вы рассматриваете возможность их предоставления через WCF, возможно, стоит собрать разумное доказательство концепции и посмотреть, создаст ли сложность графа объектов какие-либо проблемы для сериализации, использования без состояния и т.д. И т.п.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top