Единица работы / менеджеры репозитория для NHibernate? - PullRequest
7 голосов
/ 24 апреля 2009

Я - разработчик .NET днем, но в прошлом году я работал с Rails и Merb над моими собственными сторонними проектами, поэтому, когда дело доходит до MVC и ORM, я более привык к ним и использую ActiveRecord. и DataMapper.

Я начинаю работать с ASP.NET MVC, и мне нравится то, что я вижу в NHibernate и Fluent NHibernate, но я хочу немного больше узнать о том, как наилучшим образом справиться с моделью работы или моделью типа хранилища.

Я бы хотел что-то не очень большое в архитектуре. Я видел несколько проектов, таких как S # arp Architecture, но это выглядит несколько раздутым.

Все, что мне действительно нужно, это простой способ управления соединениями и обработки поиска / хранения данных. Простое руководство или пример приложения даже подойдет.

Ответы [ 3 ]

11 голосов
/ 24 апреля 2009

Есть несколько компонентов, которые вы можете использовать для простых реализаций Unit of Work:

Что касается примеров проектов, здесь - это один для Burrow. Я использую Burrow для проекта прямо сейчас, и он прекрасно работает для меня. Хотя я ими не пользуюсь, существуют классы репозитория, в которых используется единица управления сеансом работы, поэтому с ней действительно легко начать работу. Я также использую Fluent NHibernate, и очень просто заставить все работать вместе.

2 голосов
/ 28 сентября 2010

Вас также может заинтересовать Castle ActiveRecord , который реализует шаблон ActiveRecord поверх NHibernate, свободно навеянный Rails ActiveRecord.

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

Все, что мне действительно нужно, это простой способ управления соединениями и обработки извлечения / хранения данных.

Да, NHibernate может быть довольно многословным. Я исследовал как «шаблоны» Единицы Работы, так и репозитория (на самом деле это «фасады», но это уже другая история) и написал очень простые их реализации. Они оба значительно упрощают NHibernate, но я бы посоветовал использовать реализацию Unit of Work, поскольку я считаю, что в целом она более производительная и более простая в использовании, чем Repository. Загрузите его и попробуйте:

http://code.google.com/p/nhibernate-unitofwork-example/

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