Да, но с некоторыми оговорками:
Он полностью поддерживается Microsoft и имеет растущее сообщество - но будучи новичком, чем его ближайший конкурент, nHibernate, он все еще не настолько зрелый, как сообщество.
Наряду с менее зрелым сообществом, будут времена, когда функция доступна с EF4, но едва документирована; или EF4 выдаст исключения, с которыми Google не может вам помочь.
Он полнофункциональный, когда используется по назначению Microsoft, но, по моему опыту, может быть довольно сложно перестроиться в существующую систему. В идеале вы будете использовать его в новом сценарии со стопроцентным стеком Microsoft. Он, безусловно, достаточно гибкий, чтобы смешиваться с другими системами, но это существенно увеличивает сложность.
Однако, чтобы повторить основной момент, он является полным и достаточно стабильным для производственного использования.
Одна ключевая вещь, на которую следует обратить внимание, которая кажется очевидной, но часто упускается из виду, пока она не причиняет боль, заключается в том, что ORM работает для преобразования реляционной парадигмы в ОО-парадигму. Если какой-либо из этих уровней не будет следовать правилам соответствующей парадигмы, вы будете чувствовать дополнительную травму.
Это может пойти обоими путями - если вы хорошо разбираетесь в реляционной / основанной на множестве парадигме SQL и ООП, то ORM позволит двум смешаться, как масло. Если ваша база данных выглядит так, как будто она хочет быть OO, а ваш OO-код выглядит так, как будто она хочет быть основанной на записях, тогда YMMV.
Мы использовали EF в нескольких производственных приложениях. У нас также есть NHibernate в нескольких производственных приложениях. Комментарий STW о том, что EF работает лучше всего «при использовании по назначению Microsoft», безусловно, верен. Также справедливо для NHibernate, что он работает лучше всего, когда используется в соответствии с шаблонами, которые наметила команда NHibernate. У меня нет знаний или опыта работы с XPO.
Я не жалею о введении NHibernate в производство.
Я не жалею о запуске Entity Framework в производство.
Одним из движущих факторов использования EF была интеграция с LINQ. Я знаю, что NHibernate также проделал большую работу с LINQ, но у меня еще не было времени, чтобы исследовать это.
источник
Мы используем EF4.1 с подходом Code First для нашего веб-проекта, и, как уже говорилось ранее, сохраняя использование, как и планировала Microsoft, это избавит вас от множества проблем.
Однако можно заметить, что система еще не достигла зрелости, и я говорю это потому, что:
источник
На самом деле я не использовал полный стек, но мы используем его по частям в нашем продукте, и он кажется достаточно зрелым, хотя нам пришлось адаптировать некоторые части для наших нужд.
источник
Я бы так подумал. Я использую EF4 code-first (CTP) для разработки мультитенантного веб-приложения.
источник
Я думаю / надеюсь, что так ... Я начинаю проект с EF 4 и новым подходом Model-First ...
Для того, что я видел, EF 4 намного надежнее и полнее, чем первая версия ... Я бы сказал, дерзайте, я знаю, что ухожу :)
источник
Да, это так, однако вы должны выделять ресурсы для обновления и повторного тестирования вашего приложения при появлении обновлений (как и в любой другой среде).
источник