嗨,我正在将 Ninject.MVC Nuget 包与我的 MVC3 应用程序一起使用,并且我为某些构造函数注入设置了当前绑定。
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IUnitOfWork>().To<ERSUnitOfWork>();
kernel.Bind<IRepository<Recipe>>().To<GenericRepository<Recipe>>();
}
我的控制器示例如下:
public class RecipesController : Controller
{
private readonly IUnitOfWork unitOfWork;
private readonly ERSDbContext context;
private readonly IRepository<Recipe> recipeRepository;
public RecipesController(IUnitOfWork unitOfWork, IRepository<Recipe> recipeRepository)
{
this.context = new ERSDbContext();
this.unitOfWork = unitOfWork;
this.recipeRepository = recipeRepository;
}
}
我想从控制器中删除私有 DBContext 属性并将新的 ERSDbContext() 传递给 ERSUnitOfWork 的构造函数和 GenericRepository 作为 Ninject 正在执行的构造函数注入的一部分,但最好将 ERSDbContext 类的初始化保留在控制器内?
任何有关您如何执行此操作的帮助将不胜感激。谢谢
我有点希望它不需要我的 NinjectWebCommon 类必须创建 DbContext,我希望在控制器中对其进行初始化。