"No connection string named 'MyEntities' could be found in the application config file"
EFを使用すると、次のような問題が発生する可能性があります.
アプリケーションプロファイルに「MyEntities」という接続文字列が見つかりません
このようなエラーの原因は,EF接続データベースのコンフィギュレーション・セクションを起動プロジェクトのコンフィギュレーション・セクションに追加しなかったためである.
たとえば、プロジェクト構造は次のようになります.
EFエンティティクラスを
ソリューション:
構成セクションは、
No connection string named 'MyEntities' could be found in the application config file
アプリケーションプロファイルに「MyEntities」という接続文字列が見つかりません
このようなエラーの原因は,EF接続データベースのコンフィギュレーション・セクションを起動プロジェクトのコンフィギュレーション・セクションに追加しなかったためである.
たとえば、プロジェクト構造は次のようになります.
MS.BLL //
MS.Model //
MS.Web //Web
MS.DAL //
EFエンティティクラスを
MS.Model
という層のプロジェクトの中に入れましたが、この層のプロジェクトはDLL
ファイルしか生成していません.私たちの起動プロジェクトはMS.Web
ですが、EFエンティティクラスを追加するときにMS.Model
という層のプロジェクトの中に入れました.そのため、EF接続データベースの配置節情報(接続文字列)もMS.Model
という層のプロジェクトの中でApp.config
の中にあります.しかし、私たちが起動したときに探したのはMS.Web
プロジェクトの構成節で、もちろんEFの接続文字列は見つかりませんでした!ソリューション:
MS.Model
というプロジェクトのApp.config
ファイルの<connectionStrings>
<add name="MyEntities" connectionString="metadata=res://*/MyModel.csdl|res://*/MyModel.ssdl|res://*/MyModel.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=Test1;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
connectionStrings>
構成セクションは、
MS.Web
プロジェクトのWeb.config
にコピーされます.