Я изучаю Entity Framework для нового проекта, за который собираюсь взяться, и в рамках своего исследования я спрашиваю некоторых профессионалов отрасли, стабилен ли он и готов ли к внедрению в "реальном мире".
На данный момент это:
У меня уже есть большой опыт работы с XPO, но я не особенно доволен ею.
Он полностью поддерживается Microsoft и имеет растущее сообщество - но, будучи более новым, чем его ближайший конкурент, nHibernate, он все еще не имеет столь же зрелого сообщества.
Наряду с менее зрелым сообществом, будут случаи, когда функция доступна в EF4, но почти не документирована; или EF4 будет создавать исключения, с которыми Google не сможет вам помочь.
Он является полнофункциональным, если используется в соответствии с планами Microsoft, но, по моему опыту, его может быть довольно сложно внедрить в существующую систему. В идеале вы будете использовать его в сценарии "зеленого поля" со 100% стеком Microsoft. Конечно, он достаточно гибок для взаимодействия с другими системами, но это значительно увеличивает трудности.
Однако, повторяя главное, он является достаточно полным и стабильным для использования в производстве.
Следует отметить одну ключевую вещь, которая кажется очевидной, но часто игнорируется, пока не причиняет боль, - это то, что ORM работает для перехода от реляционной парадигмы к ОО-парадигме. Если один из этих уровней не следует правилам соответствующей парадигмы, то вы почувствуете дополнительную боль.
Это может идти в обе стороны - если вы хорошо разбираетесь в реляционной/наборной парадигме SQL и ООП, то ORM позволит этим двум парадигмам смешаться как масло. Если ваша база данных выглядит так, как будто она хочет быть ОО, а ваш ОО-код выглядит так, как будто он хочет быть основанным на записях, то YMMV.