Кто-нибудь использует POCO Adapter для Entity Framework в производстве? - PullRequest
3 голосов
/ 23 мая 2009

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

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

Ответы [ 3 ]

7 голосов
/ 23 мая 2009

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. Хотя по краям это немного грубо, мне все-таки удалось выполнить мои требования, хотя и после нескольких обменов с Ярославом. Это и поддержка была очень унылой (мало людей на форумах или переполнение стека).

4 голосов
/ 23 мая 2009

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

Введение в AutoMapper

0 голосов
/ 20 августа 2010

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

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

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