NHibernate

омпания хочет использовать ORM для новых разработок в .Net. В настоящее время мы смотрим на nHibernate из-за его популярности, однако LLBLGen - это еще один вариант, который мы можем рассмотреть. Стоимость не является основным фактором. Нам нужно решение, которое обеспечит хорошее отделение модели предметной области от базы данных, хорошую стратегию кэширования, производительность разработки (то есть, если я смогу редактировать ее в графическом интерфейсе вместо файлов конфигурации, отлично), хорошую поддержку клиентов.

Я знаю, что nHibernate очень популярен, но я также знаю, что цена (это бесплатно) может быть частью этой причины для типов с открытым исходным кодом. Поскольку стоимость не является основным фактором (если цена не превышает $ 10000), что бы вы выбрали, учитывая наши обстоятельства? Кроме того, какие другие факторы, кроме тех, которые я перечислил, вы считаете наиболее важными при выборе ORM?

разрешение

Мы наконец решили использовать NHibernate в качестве решения, однако, оглядываясь назад, я думаю, что я бы пошел с LL, если бы у нас было это сделать снова. Я просто не нашел файлов сопоставления xml. Генераторы кода, которые я нашел для NHibernate, оставляли желать лучшего. Я считаю, что Fluent NHibernate - интересная разработка, но я предпочел бы подождать, пока она созреет, прежде чем ее использовать.

Как оказалось, наиболее важной частью моего учебного процесса оказались не технологии, а две модели проектирования: репозиторий и отдельные шаблоны интерфейса. Определив интерфейс репозитория для доступа к данным (об этом есть у Джеффри Палермо несколько публикаций в блоге, и в книгах об Apress и Wrox MVC это тоже есть), мы можем использовать LinqtoSQL, LLBLGen, NHibernate и т. Д. И менять реализацию DAL. позже, если мы переключимся. Поэтому, хотя один из моих коллег использовал NHibernate в своем приложении, я решил использовать LinqToSQL в своем последнем приложении, и оно работало просто отлично.

Ответы на вопрос(8)

Ваш ответ на вопрос