2009-09-18 2 views
1

У меня есть класс репозитория, который принимает объект ObjectContext под названием «TestDB». Когда я запускаю свое веб-приложение, я получаю «Невозможно загрузить указанный ресурс метаданных», почти так же, как не собирать настройки соединения из моего файла web.config.Использование Ninject With Entity Framework

Вот фрагмент моего кода.

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

После того, как получить то, что происходит там, я хотел бы передать в моей DataContenxt, но я не могу показаться, чтобы обернуть вокруг головы, как это должно выглядеть в Ninject Mapping.

+0

Это также может помочь: http://stackoverflow.com/questions/1245517/ninject-binding –

+0

Вы можете обновить ваш вопрос с большим количеством кода (например, Ninject Mapping/SqlCateglogRepository) –

ответ

1

Try что-то вроде:

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

Это даст Ninject шанс перехватить активацию. Тогда ваши сопоставления могут применяться.

Вы можете проверить «Service Locator» подход, который Nate писал о: http://kohari.org/2008/06/18/playing-nice-with-service-locators