Нужен совет для большого уровня доступа к данным .net - PullRequest
7 голосов
/ 28 июня 2009

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

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

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

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

Ответы [ 3 ]

6 голосов
/ 28 июня 2009

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

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

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

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

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

Telerik OpenAccess похож на Lightspeed.

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

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

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

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

4 голосов
/ 03 июля 2009

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

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

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

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

1 голос
/ 28 июня 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...