A unidade de padrão de trabalho dentro de um aplicativo asp.net mvc
Eu tenho olhado para este excelenteblog intitulado "NHibernate e o padrão de unidade de trabalho" e ter uma pergunta sobre o melhor lugar para usar UnitOfWork.Start em um projeto asp.net mvc.
Meu SLN é dividido nos seguintes projetos:
MVC project
Repository
NHibernateUnitOfWork
Eu tenho uma interface: -
public interface INameRepository
...
IList<Name> GetByOrigin(int OriginId)
...
Eu tenho uma implementação concreta
public class NameRepository : INameRepository
...
public IList<Name> GetByOrigin(int OriginId) {
using (UnitOfWork.Start()) {
var query = session.Linq<...
return query;
}
}
...
Minha pergunta é que eu envolvo todos os meus métodos dentro de todos os meus repositórios usando (UnitOfWork.Start ()) ou existe uma abordagem melhor?
Eu estou usando o nHibernate, asp.net mvc.