「NHibernate と Unit of Work パターン」というタイトルのこの優れたブログを見ていて、asp.net mvc プロジェクトで UnitOfWork.Start を使用するのに最適な場所について質問があります。
私の SLN は次のプロジェクトに分類されます:-
MVC project
Repository
NHibernateUnitOfWork
私はインターフェースを持っています:-
public interface INameRepository
...
IList<Name> GetByOrigin(int OriginId)
...
具体的な実装があります
public class NameRepository : INameRepository
...
public IList<Name> GetByOrigin(int OriginId) {
using (UnitOfWork.Start()) {
var query = session.Linq<...
return query;
}
}
...
私の質問は、すべてのリポジトリ内のすべてのメソッドを using(UnitOfWork.Start()) でラップするか、それともより良いアプローチがありますか?
nHibernate、asp.net mvc を使用しています。