Реализация шаблона репозитория с помощью PetaPoco

Только что начал проект «реального мира», используя .NET MVC, Ninject, PetaPoco, и планирую использовать шаблон репозитория.

Я использовал шаблон PetaPoco T4 с «GenerateOperations», «GeneratePocos» и «GenerateCommon», все = true. Глядя на сгенерированный код, кажется, что имеет смысл извлечь класс «Запись» в общий интерфейс репозитория и/или класс, но я не смог понять, как это сделать.

С моими ограниченными познаниями в области DI также кажется целесообразным каким-то образом связать часть «GetInstance» с Ninject на основе «для каждого запроса», но как мне это сделать?

Если это еще не очевидно, я новичок в DI, шаблоне репозитория и PetaPoco. :)


person seekay    schedule 08.09.2011    source источник


Ответы (2)


Я долго обдумывал шаблон репо, в конце концов решил, что проще всего.

Репозиторий, который я разместил в своем блоге, еще не завершен, но он даст вам хорошее начало (после этого сообщения я внес изменения ... если вы хотите, я могу что-нибудь заархивировать).

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

Боюсь, я только изучаю DI, поэтому в данный момент я не могу вам помочь.

person David McLean    schedule 08.09.2011
comment
Дэйв, прежде всего, спасибо за этот пост в блоге - он очень помогает! Если бы вы могли собрать молнию вместе, это было бы действительно здорово. Я изо всех сил стараюсь не переусердствовать, и найти другие образцы/примеры, которые не являются просто демонстрацией, не так просто :) - person seekay; 08.09.2011
comment
Я создам последующий пост на выходных и соберу почтовый индекс. Сделал бы это сегодня, но я сложен. - person David McLean; 09.09.2011
comment
Спасибо - ждем! Я до сих пор не заработал с Ninject, но пока отложил это в сторону. Вернусь и обновлю этот вопрос, как только добьюсь определенного прогресса. - person seekay; 10.09.2011
comment
добавил IRepository и PetaPocoRepository в rar, и вы можете скачать их здесь -› programmerdave.com/petapoco -repository-zip-code - person David McLean; 12.09.2011

Посмотрите сообщение в блоге этих ребят — он делает именно то, что вам нужно, в том, что касается настройки шаблон репозитория с petapoco.

Что касается настройки репозиториев MVC3 + Ninject +, ответ на него дан в этом вопросе. .

В недавнем проекте я использовал asp.net mvc3, autofac и petapoco — использование шаблона репозитория без проблем.

person brodie    schedule 08.09.2011
comment
благодаря. Я видел этот пост раньше, но забыл о нем. Он делает то, что мне нужно, но кажется, что все возможные методы были сброшены в PocoRepository, тогда как мне было бы удобнее добавлять репозитории для конкретных моделей и, возможно, использовать транзакции через ActionFilter. Однако мне любопытно, что находится в этом классе ConnectionStringDB. На данный момент, я думаю, мне нужно попробовать его подход по-своему и посмотреть, работает ли он с моими изменениями (возможно, я слишком много думаю об этом). Спасибо! - person seekay; 08.09.2011