使用Ninject和实体框架

时间:2009-09-18 14:03:08

标签: entity-framework ninject

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

以下是我的代码片段。

[Inject]
public SqlCatelogRepository(){
   _dataContext = new SQLDb(); 
   //EF Entity, should pickup connection settings from web.config
}

一旦得到正在发生的事情,我想传递我的DataContenxt,但我似乎无法理解这应该在Ninject Mapping中看起来如何。

1 个答案:

答案 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