1

「TestDB」と呼ばれる ObjectContext を受け取るリポジトリ クラスがあります。Web アプリケーションを起動すると、「指定されたメタデータ リソースを読み込めません」というメッセージが表示され、web.config ファイルから接続設定が取得されなくなったようです。

これが私のコードのスニペットです。

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

そこで何が起こっているのかを理解したら、DataContenxt に渡したいと思いますが、Ninject マッピングでこれがどのように見えるべきかについて頭を悩ませているようには見えません。

4

1 に答える 1

1

次のようなものを試してください:

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

これにより、NInject がアクティベーションを傍受する機会が与えられます。その後、マッピングを適用できます。

Nate が書いた "Service Locator" アプローチをチェックしてみてください: http://kohari.org/2008/06/18/playing-nice-with-service-locators

于 2009-10-28T15:01:38.247 に答える