我有一个存储库类,它接受一个名为“TestDB”的ObjectContext。当我启动我的Web应用程序时,我得到“无法加载指定的元数据资源”,几乎就像它不再从我的web.config文件中获取连接设置。
以下是我的代码片段。
[Inject]
public SqlCatelogRepository(){
_dataContext = new SQLDb();
//EF Entity, should pickup connection settings from web.config
}
一旦得到正在发生的事情,我想传递我的DataContenxt,但我似乎无法理解这应该在Ninject Mapping中看起来如何。
答案 0 :(得分:1)
尝试类似:
[Inject]
public SqlCatelogRepository(){
_dataContext = kernel.Get<SQLDb>();
//EF Entity, should pickup connection settings from web.config
}
这将使NInject有机会拦截您的激活。然后你的映射可以适用。
您可能想查看Nate撰写的“服务定位器”方法:http://kohari.org/2008/06/18/playing-nice-with-service-locators