Ninjectを初めてインストールしました。私はNinjectMvc3バージョンを使用しています。このバージョンは、Nuget経由でApp_Startフォルダ内のNinjectMvc3クラスを提供します。そこにある私は私のweb.configに持っているエンティティ接続文字列を接続しようとしています RegisterServicesメソッド基本的に私が今持っているのはこれです。NinjectMvc3とのエンティティ接続文字列の設定
var sConnection = ConfigurationManager.ConnectionStrings["dEntities"].ConnectionString;
kernel.Bind<IDataContext>().To<DataContext>().WithConstructorArgument("dEntities", new dEntities(sConnection));
これは私に次のエラー例外の詳細を与える:と、System.InvalidOperationException:このメソッドは、アプリケーションの開始前の初期段階で呼び出すことはできません。
そしてHERESにソースエラーのいくつか:
/// Initialize a new dEntities object.
/// </summary>
public dEntities(string connectionString) : base(connectionString, "dEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
私が間違って何をしているのですか?
EDIT: 私は、Entity FrameworkとRepositoryパターンを使用していると付け加えます。私がやりたいことは、何とかweb.configのentitites接続文字列のインスタンスを作成し、それをNinjectMvc3とバインドすることです。誰でも問題についての意見はありますか?
セットアップが不確かなので、必要ないかもしれません。私がこれを試しているときにあなたが提案した方法は、私はプロパティについての提案を得ていません。 Settings.Default.dEntities?あなたはそれがその名前空間に常駐していますか? – Tim
する必要があります。 MVC3も使用しています。 (Ninjectではなく、Castle Windsorを使用していますが、関連性がないはずです)、ここに私の設定があります:http://i.imgur.com/smXq6.png、ここにコード:http://i.imgur。 com/Myakz.pngなので、ConfigurationManagerと同じです。 –
うーん、私は何の示唆も得られていません。これはNinjectMvc3クラスのRegisterServicesメソッドで行う必要がありますか?ありがとう。 – Tim