Стоит ли еще думать о NHibernate для .Net, пока существует возможность LINQ to SQL? - PullRequest
1 голос
/ 27 июля 2010

Я не очень хорошо знаком с LINQ to SQL и NHibernate.

Насколько я понимаю, LINQ to SQL во многом является заменой NHIbernate для .Net.

Значит ли это, что LINQ to SQL - это встроенная замена NHibernate, которая позволяет разработчику .Net пропустить NHibernate и начать работать с LINQ to SQL?

Спасибо

Ответы [ 6 ]

3 голосов
/ 27 июля 2010

NHibernate гораздо более зрелый и мощный, чем Linq2Sql или EF.В любом случае полезно знать как NH, так и EF.

1 голос
/ 27 июля 2010

Это очень спорный, но я еще увидеть инструмент ORM, который может конкурировать с NHibernate.Конечно, у LINQ to SQL есть свои сильные стороны, главным из которых является настоящий LINQ, и он отлично подходит для некоторых целей, но он не такой гибкий и мощный.

0 голосов
/ 27 июля 2010

Они не сравниваются. LINQ to SQL не является ORM . Тем не менее, я считаю, что NHibernate - лучший ORM, намного превосходящий Microsoft Entity Framework.

  1. Он легко интегрируется практически с любым ядром базы данных (MS SQL, Oracle, MySQL, SQLite, Firebird, PostgreSQL и т. Д.), Чего в настоящее время EF не делает зрелым и таким образом, которому я бы доверял в своих масштабных приложениях .
  2. Изучив его, вы не только внедрили надежное и зрелое решение (помните его проверенную и проверенную базу кода Java), но и приобрели знания, которые можно легко применить к исходному Java Hibernate.
  3. Возможно, я говорю здесь не в своем уме, но я не думаю, что EF (опять же, я даже не сравниваю его с LINQ) в настоящее время вдвое менее настраиваемый, чем NHibernate.
0 голосов
/ 27 июля 2010

NHibernate, безусловно, отличная альтернатива. На данный момент это все еще самый мощный ORM в области .NET.

Лично я бы предпочел Entity Framework. Он еще не такой мощный, как NHibernate, но это специально разработанный ORM от Microsoft, который обеспечивает лучшую интеграцию с другими инструментами MS. (Например, следующая версия служб Reporting Services будет поддерживать модели EF.)

0 голосов
/ 27 июля 2010

мммммммммм, они совсем разные.

Linq to sql - это просто переводчик с linq на sql, в нем нет контекста, кеша и всего, что есть в nhibernate.

nhibernate лучше сравнивает со структурой сущностей.

но linq to sql очень легкий, stackoverflow использует его:).

0 голосов
/ 27 июля 2010

Вместо слова «замена» используйте слово «альтернатива».

Так что да, это альтернатива NHibernate, однако, как и в большинстве случаев, стоит рассмотреть все функциии того, и другого при выборе маршрута, по которому вы хотите идти.

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