Нужен совет для большого уровня доступа к данным .net

Запуск нового проекта - это 100% новая разработка по сравнению с очень большой (300 таблиц) устаревшей базой данных. База данных не очень хорошо соответствует бизнес-модели, поэтому мои первоначальные мысли, где использовать ORM.

У меня есть доказательство того, что концепция работает с NHibernate довольно хорошо ... но МНОГО руководства отказалось от использования «неподдерживаемого» инструмента с «открытым исходным кодом».

Есть какие-нибудь советы по использованию другого решения ORM? или совет по аргументу NHibernate?

Большое спасибо.


person Todd    schedule 28.06.2009    source источник
comment
Если вы используете NHibernate или что-то еще, я определенно объясню руководству, что использование неподдерживаемых инструментов с открытым исходным кодом не представляет большего риска, чем использование коммерческих продуктов. Работа ваших менеджеров состоит в том, чтобы понимать, как работает открытый исходный код, и правильно оценивать риски при разработке. Некомпетентные менеджеры не могут служить оправданием для перехода на продукт худшего качества (если, конечно, вы не Дилберт).   -  person Paco    schedule 28.06.2009
comment
Добавление NHProf - чрезвычайно полезный инструмент, если вы используете NHibernate.   -  person John Farrell    schedule 03.07.2009
comment
Только что обновлено ... мы пошли по маршруту NHibernate !!! Мы провели проверку концепции с использованием пары ведущих ормов, и победила NHibernate. Просто изложили факты управлению рисками и вознаграждениями, и они одобрили решение.   -  person Todd    schedule 15.07.2009


Ответы (3)


Если ваше руководство готово платить за коммерческий ORM, вам следует рассмотреть этот вариант.

Одно ограничение, которое у вас может быть (в настоящее время) с NHibernate (если вы не хотите использовать Alpha-код из проекта NHibernateContrib), заключается в том, что в настоящее время у вас нет возможности использовать механизм LINQ / IQueryable для запроса с использованием все более знакомого синтаксиса LINQ. . У вас по-прежнему будут очень гибкие механизмы критериев и HQl, это просто зависит от того, хотите ли вы начать инвестировать в то, чтобы делать все «в стиле LINQ» или нет?

Из моих исследований до сих пор у вас есть довольно много вариантов (все поддерживают запросы LINQ):

Raw Entity Framework (есть коммерческие партнеры, которые также добавляют инструменты и функции поверх него.)

Lightspeed кажется чем-то вроде LINQ-to- [много БД ] с хорошей поддержкой времени разработки.

Telerik OpenAccess похож на Lightspeed.

IdeaBlade DevForce построен на основе EntityFrmework, но добавляет некоторые функции удобства использования. Если вы не используете SQL Server, использование IdeaBlade ТАКЖЕ потребует покупки поставщика ORACLE-EF у отдельного поставщика, такого как DevArt или DataDirect.

LLBLGen Pro Хороший набор функций и активная разработка. Был уже давно.

DevArt также предлагает хорошие инструменты для доступа к данным и поставщиков LINQ для конкретных поставщиков.

[ОБНОВЛЕНИЕ] Готовая к работе поддержка LINQ теперь доступна в NHibernate!

person rohancragg    schedule 28.06.2009

Почему бы вам не спросить об этом у руководства?

Сколько решений для доступа к данным было создано и уничтожено Microsoft за время существования Hibernate / NHibernate?

  • ADO
  • ADO.NET
  • Строго типизированные наборы данных
  • LINQ2SQL
  • Entity Framework
  • Entity Framework V2

За это время Hibernate / NHibernate становились все более зрелыми. Это никуда не денется.

person David P    schedule 02.07.2009
comment
Кроме того, NHProf - это огромный аргумент в пользу продажи. Назовите Microsoft ORM, у которой есть собственный инструмент поддержки? - person John Farrell; 03.07.2009
comment
Проголосуйте за NHibernate. Несмотря на это, я с нетерпением жду поддержки LINQ. ^^ - person Arnis Lapsa; 04.07.2009

Я использовал Entity Framework в своих последних двух проектах, у них было одинаковое количество таблиц. У нас это хорошо сработало. Мы разделили таблицы на несколько моделей Entity Framework, макс. Ок. 80 столов в одной модели.

Entity Framework легче продать руководству, так как это Microsoft.

person Shiraz Bhaiji    schedule 28.06.2009
comment
Re: X легче продать руководству, так как это Microsoft. ... Я хотел бы, чтобы это было правдой по реальным причинам, а не только потому, что Microsoft большая и у нее много денег. Иногда их материал не такой острый. - person Chris W. Rea; 28.06.2009