Анализ рынка ORM - PullRequest
       8

Анализ рынка ORM

7 голосов
/ 12 апреля 2010

Хотелось бы увидеть ваш опыт работы с такими популярными инструментами ORM, как NHibernate, LLBLGen, EF, S2Q, Genom-e, LightSpeed, DataObjects.NET, OpenAccess, ...

Из моего опыта: - Genom-e тихо способен к Linq и производительности, поддержка разработчиков - EF не хватает некоторых ключевых функций, таких как отложенная загрузка, поддержка Poco, pers.ignorance ... но в 4.o это может быть преодолено. - DataObjects.Net пока хорошо, хотя я нашел несколько ошибок - Крутая кривая обучения NHibernate, нет 100% поддержки Linq (как в Genom-e и DataObjects.Net), но очень поддерживающая, расширяемая и зрелая

Ответы [ 3 ]

5 голосов
/ 12 апреля 2010

http://www.ormbattle.net/

Это лучшее сравнение, которое вы можете найти на данный момент.

Исходя из моего опыта, кстати: оставайтесь в стороне от текущей версии NHibernate, если вы заинтересованы в LINQ - используйте ветку разработки. LINQ поддерживает mvoes в основной DLL и, что более важно, намного лучше и полнее, чем методы ограниченного добавления в текущих выпусках.

2 голосов
/ 13 ноября 2012

Мы сделали действительно глубокий анализ два года назад (2010) между NHibernate, EF и Llblgen и выбрали последний. Мы определенно думаем, что приняли правильное решение.

Llblgen Pro - великолепный и зрелый ORM (Entity FW еще должен развиваться: прямой m: n, enum, наследование ...). Легко использовать как модель, так и базу данных сначала без XML, просто хороший графический дизайнер.

  • Высокоэффективно: получайте только нужные вам столбцы ... или используйте TypedList для получения часто используемых объединенных / сгруппированных столбцов ... или сопоставьте свои представления с TypedViews, или сопоставьте свои процедуры извлечения из магазина ... или используйте специальные запросы. Вы даже можете создать несколько шаблонов, отображающих ваш собственный POCO (TypeValue) и напрямую вызывать SQL !!! (нам не нужно было идти так далеко)
  • Из конструктора используйте свою собственную платформу, или NHibernate или Entity Framework, или LINQ to SQL
  • Довольно много функций, которые вы пропустили бы после того, как решили начать работу (предварительная выборка, транзакции, помощники привязки данных, разбиение на страницы, (де) сериализация, настройка (свойства, внедрение зависимостей, авторизация, аудит, ...) ) * +1010 *

... но это гораздо больше: отличный дизайнер моделей и система шаблонов.

Начиная с ORM:

  • Хорошее использование пользовательских шаблонов (например, ASP.Net, MVC, REST или WCF) обеспечивает система лесов / общая архитектура -> позволяет менее опытным программистам догнать и быть более продуктивным. Общие решения используются повторно (его стоимость снижается вниз: это не «код против понимания и интеграции», а «код против plug "). Хотя это устаревшие веб-формы ASP.Net взглянуть на http://northwind.angte -demo.com / для ощущения того, что вы можете получить с шаблонами.
  • Код для вашего конкретного приложения в VS как обычно. Если код можно повторно добавить код в шаблон (обычно это означает изменение в ASP-подобном файле такие вещи, как «Продукт» с «<% = Entity.Name%>», а не персонал).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...