La unidad de patrón de trabajo dentro de una aplicación mvc de asp.net
He estado mirando a este excelenteBlog Titulado "NHibernate y el patrón de unidad de trabajo" y tiene una pregunta sobre el mejor lugar para usar UnitOfWork.Start en un proyecto mvc de asp.net.
Mi SLN se divide en los siguientes proyectos:
MVC project
Repository
NHibernateUnitOfWork
Tengo una interfaz: -
public interface INameRepository
...
IList<Name> GetByOrigin(int OriginId)
...
Tengo una implementación concreta.
public class NameRepository : INameRepository
...
public IList<Name> GetByOrigin(int OriginId) {
using (UnitOfWork.Start()) {
var query = session.Linq<...
return query;
}
}
...
Mi pregunta es ¿envuelvo todos mis métodos dentro de todos mis repositorios usando (UnitOfWork.Start ()) o hay un mejor enfoque?
Estoy usando nHibernate, asp.net mvc.