Entity framework 将Ninject与实体框架结合使用

Entity framework 将Ninject与实体框架结合使用,entity-framework,ninject,Entity Framework,Ninject,我有一个存储库类,它接受名为“TestDB”的ObjectContext。当我启动我的web应用程序时,我得到了一个“无法加载指定的metadate资源”,几乎就像它不再从我的web.config文件中获取连接设置一样 下面是我的代码片段 [Inject] public SqlCatelogRepository(){ _dataContext = new SQLDb(); //EF Entity, should pickup connection settings from web

我有一个存储库类,它接受名为“TestDB”的ObjectContext。当我启动我的web应用程序时,我得到了一个“无法加载指定的metadate资源”,几乎就像它不再从我的web.config文件中获取连接设置一样

下面是我的代码片段

[Inject]
public SqlCatelogRepository(){
   _dataContext = new SQLDb(); 
   //EF Entity, should pickup connection settings from web.config
}
一旦得到了那里发生的事情,我想传入我的DataContenxt,但我似乎无法理解这在Ninject映射中应该是什么样子的。

尝试以下方法:

[Inject]
public SqlCatelogRepository(){
   _dataContext = kernel.Get<SQLDb>(); 
   //EF Entity, should pickup connection settings from web.config
}
[注入]
公共SqlCatelogRepository(){
_dataContext=kernel.Get();
//EF实体,应从web.config获取连接设置
}
这将使NInject有机会拦截您的激活。然后可以应用映射

您可能想查看Nate所写的“服务定位器”方法:

尝试以下方法:

[Inject]
public SqlCatelogRepository(){
   _dataContext = kernel.Get<SQLDb>(); 
   //EF Entity, should pickup connection settings from web.config
}
[注入]
公共SqlCatelogRepository(){
_dataContext=kernel.Get();
//EF实体,应从web.config获取连接设置
}
这将使NInject有机会拦截您的激活。然后可以应用映射


你可能想看看Nate写的“服务定位器”方法:

这也可能有帮助:你能用更多的代码更新你的问题吗(例如Ninject Mapping/SQLCateglopository类)这也可能有帮助:你能用更多的代码更新你的问题吗(例如Ninject Mapping/SQLCateglopository类)