0
我想在ASP.NET MVC項目中使用Ninject。這是我使用實體框架爲我的項目 - 計劃Ninject與基本控制器類中的實體框架
//Web.config
<connectionStrings>
<add name="MyTestDbEntities" connectionString="...." />
</connectionStrings>
//Base controller
public abstract class BaseController : Controller
{
protected readonly MyTestDbEntities Db;
public BaseController() { }
public BaseController(MyTestDbEntities context)
{
this.Db = context;
}
}
public class HomeController : BaseController
{
public ActionResult Index()
{
Db.Students.Add(new Student() { StudentName="test"});
Db.SaveChanges();
return View();
}
}
我想用Ninject如下 -
kernel.Bind<MyTestDbEntities>().To<BaseController>().InRequestScope();
但says-
The type 'NinjectTest.BaseController' cannot be used as type parameter
'TImplementation' in the generic type or method
'IBindingToSyntax<MyTestDbEntities>.To<TImplementation>()'.
There is no implicit reference conversion from 'NinjectTest.BaseController'
to 'NinjectTest.Models.MyTestDbEntities'.
請你建議我如何配置Ninject在項目中工作?