ADO.NET Entity Framework против NHibernate - PullRequest
       39

ADO.NET Entity Framework против NHibernate

35 голосов
/ 20 августа 2008

Таким образом, платформа ADO.NET Entity Framework получила немного плохой прессы (в форме записей в блогах и петиции), но я не хочу спешить с суждением. Я ограничен во времени для экспериментов, но мне было интересно, кто-нибудь еще работал с этим с более эмпирической обратной связью?

Наконец, что вы думаете об использовании NHibernate, который существует уже давно и может быть более зрелым, чем ADO.NET Entity Framework.

Ответы [ 7 ]

13 голосов
/ 20 августа 2008

NHibernate может быть более зрелым. Это не обязательно означает, что это «лучшее» решение. Пользуясь им на работе в течение некоторого времени, я лично предпочел бы использовать почти все, чем NHibernate (даже прямой SQL, если бы миграция была возможна удаленно). Число сообщений об ошибках, выдаваемых NHibernate, которые ничего не значат (или означают что-то, но никогда не должны возникать), абсолютно ошеломляет, как и некоторые из его поведений по умолчанию (например, сброс сеанса один раз для каждого объекта, возвращаемого в Find ).

Лично, когда у меня есть выбор, я использую LINQ to SQL для всей работы с базой данных.

12 голосов
/ 19 августа 2009

Если нулевое конфигурирование является основным преимуществом SubSonic, вы можете посмотреть Свободный nHibernate или Entity Framework Code-First

ОБНОВЛЕНИЕ от Răzvan Panda: Свободное использование NHibernate в основном устарело благодаря включению в сам NHibernate отображения с помощью кода, см. notherdev.blogspot.ie / 2012/02 /

6 голосов
/ 25 февраля 2011

Прошло 2 года с момента первоначального сообщения. Насколько я понимаю, ADO.NET Entity Framework переросла в .net 4. Есть ли у кого-нибудь какие-либо новые отзывы на эту тему?

Вот ссылка на улучшения, добавленные в EF с момента первого выпуска в 2008 году. http://blogs.msdn.com/b/adonet/archive/2009/05/11/update-on-the-entity-framework-in-net-4-and-visual-studio-2010.aspx

Обновление: я нашел эту тему о переполнении стека, которая хорошо обсуждает обновленный EF:

Entity Framework 4 против NHibernate

4 голосов
/ 20 августа 2008

Microsoft почти признала, что ADO.Net Entity Framework не является ORM (в настоящее время я не могу найти ссылку). Так что если вы думаете о Entity Framework как о механизме запросов, то, очевидно, он действительно хорош в том, что делает. Однако для полного решения ORM вы, возможно, захотите поискать в другом месте.

Следующая запись в блоге, кажется, подтверждает эту разницу:

http://blogs.msdn.com/dsimmons/archive/2008/05/17/why-use-the-entity-framework.aspx

3 голосов
/ 12 мая 2009

Я использовал SubSonic, LinqToSql, LinqToEntities. Теперь я пытаюсь NHibernate. На данный момент - мне нравится NHibernate (вероятно, потому что я не встретил достаточно проблем). Худший из них - LinqToEntities (это, конечно, только мое мнение).

0 голосов
/ 24 июня 2009

Я подхожу к симпатии сущности. Требуется некоторое время, чтобы понять, что означают все его сообщения об ошибках, но как только вы к этому привыкнете, это действительно делает большую работу. Самый большой недостаток, который у него есть сейчас, - отсутствие реальной поддержки отключения.

0 голосов
/ 01 мая 2009

У меня проблема с SubSonic. SubSonic задохнулся на столах с тем же именем, но с другой схемой. Я не хочу обсуждать лучшие практики построения базы данных, потому что я не позвонил, чтобы сделать это. (Когда дело доходит до повышения голоса, сделайте точку и продолжите работу, я бы предпочел сохранить свою работу ))

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