Готов ли Entity Framework к производству?

Готов ли Entity Framework к производству?
Готов ли Entity Framework к производству? - chrisabney @ Unsplash

Я изучаю Entity Framework для нового проекта, за который собираюсь взяться, и в рамках своего исследования я спрашиваю некоторых профессионалов отрасли, стабилен ли он и готов ли к внедрению в "реальном мире".

На данный момент это:

  • EF
  • NHibernate
  • DevExpress XPO

У меня уже есть большой опыт работы с XPO, но я не особенно доволен ею.

Да, но с некоторыми оговорками:

  • Он полностью поддерживается Microsoft и имеет растущее сообщество - но, будучи более новым, чем его ближайший конкурент, nHibernate, он все еще не имеет столь же зрелого сообщества.

  • Наряду с менее зрелым сообществом, будут случаи, когда функция доступна в EF4, но почти не документирована; или EF4 будет создавать исключения, с которыми Google не сможет вам помочь.

  • Он является полнофункциональным, если используется в соответствии с планами Microsoft, но, по моему опыту, его может быть довольно сложно внедрить в существующую систему. В идеале вы будете использовать его в сценарии "зеленого поля" со 100% стеком Microsoft. Конечно, он достаточно гибок для взаимодействия с другими системами, но это значительно увеличивает трудности.

Однако, повторяя главное, он является достаточно полным и стабильным для использования в производстве.


Следует отметить одну ключевую вещь, которая кажется очевидной, но часто игнорируется, пока не причиняет боль, - это то, что ORM работает для перехода от реляционной парадигмы к ОО-парадигме. Если один из этих уровней не следует правилам соответствующей парадигмы, то вы почувствуете дополнительную боль.

Это может идти в обе стороны - если вы хорошо разбираетесь в реляционной/наборной парадигме SQL и ООП, то ORM позволит этим двум парадигмам смешаться как масло. Если ваша база данных выглядит так, как будто она хочет быть ОО, а ваш ОО-код выглядит так, как будто он хочет быть основанным на записях, то YMMV.


LetsCodeIt, 23 мая 2023 г., 20:51