エンティティフレームワークテンプレートを使用してコントローラーを追加しようとすると、常にエラーメッセージが表示されますが、エラーメッセージが表示され続ける
unable to retrieve metadata for 'path' unrecognized element providers.
(C:\Users\user\appdata\local\Temp-mp6124.tmp line 78)
接続文字列に関連していることがわかっているので、ここに接続文字列を示します
<connectionStrings>
<add name="NoktatyContext" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=NoktatyContext-20140122154208; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|NoktatyContext-20140122154208.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
設定ファイルの<providers>
セクションを削除することで、この問題を修正できました。
この:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
これになる:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>
私は今朝この問題を抱えていて、修正を見つけました。データベース(およびプロバイダー)を指定しない場合、EFは既定でSQL Server Expressを使用します。
MVC足場はEntity Framework 6以降をサポートしていません
現在のバージョンのEntity Frameworkと、Install-Package EntityFramework -Version 5.0.0をアンインストールしてください。
タグを削除...
VSを再起動します
OK