Какую проблему решает NHibernate? - PullRequest
4 голосов
/ 02 мая 2010

Я видел некоторые работы, требующие знания nhibernate, а также множество вопросов по стеку. Я нашел другой вопрос, который указал мне на Summer Of NHibernate , и сейчас я смотрю видео. Однако в нем нет введения, объясняющего, почему NHibernate был создан и что проблема решает. Просматривая википедию, я смутно вижу, что она делает, но мне кажется, что в .NET уже есть структура сущностей, которая, кажется, делает то же самое.

Может кто-нибудь уточнить, почему существует nhibernate?

Ответы [ 3 ]

2 голосов
/ 02 мая 2010

У NHibernate есть свои корни в платформе Java Hibernate. Согласно Википедии NHibernate был впервые выпущен в 2005 году, за несколько лет до Entity Framework , выпущенного в 2008 году.

Из того, что я слышал, NHibernate является более зрелым и гибким из этих двух, но я не использовал его сам. Entity Framework можно рассматривать как попытку Microsoft (пока безуспешно) сокрушить NHibernate.

1 голос
/ 02 мая 2010

Это решает несколько проблем, связанных с несоответствием реляционного импеданса объекта, обеспечивает реализацию единицы работы, позволяет измерять независимость от базы данных и облегчает проектирование на основе домена, облегчая постоянное игнорирование и предоставляя возможность генерировать вашу схему БД в домен развивается.

Так что это зверь программы по размеру и ширине, и требует некоторых знаний из умных слов выше! Это на самом деле немного больше, поэтому Summer of NHib - это 13 странных серий, которые очень рекомендуются. Книга NHib в действии тоже очень хороша.

Самое главное, дать себе перерыв и дать себе до шести недель, чтобы принять все это.

НТН,
Berryl

1 голос
/ 02 мая 2010

NHibernate избавляет вас от необходимости самостоятельно взаимодействовать с базой данных и обрабатывает детали, связанные с базой данных.Это позволяет вам тратить меньше времени на написание кода инфраструктуры и позволяет больше сосредоточиться на интересных частях вашего проекта.

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