【发布时间】:2011-03-10 22:45:59
【问题描述】:
在 MVC 3 应用程序中使用 Entity Framework 4 和 Ninject 时,存储库和 EF 上下文的适当生命周期范围是什么?
我一直在使用 InTransientScope 的默认值,但质疑它是否应该是 InRequestScope。
public class MyController: Controller
{
private readonly IMyRepo _repo;
public MyController(IMyRepo repo)
{
_repo = repo;
}
public ActionResult Index()
{
var results = _repo.GetStuff();
return View(results);
}
}
忍者模块:
public class MyServices : NinjectModule
{
public overrride void Load()
{
Bind<IMyRepo>.To<MyRepo>();
Bind<MyContext>.ToSelf();
}
}
我的仓库:
public class MyRepo: IMyRepo
{
private readonly MyContext _context;
public MyRepo(MyContext context)
{
_context = context;
}
public IEnumerable GetStuff()
{
return _context.Entity;//query stuff
}
}
【问题讨论】:
-
@Ruben,你指的是 SharpArchitecture 的答案吗?
标签: asp.net-mvc inversion-of-control ninject