エラーの取得:
System.Data.ProviderIncompatibleException: データベースからプロバイダー情報を取得中にエラーが発生しました。これは、不適切な接続文字列を使用する Entity Framework が原因である可能性があります。
内部例外で詳細を確認し、接続文字列が正しいことを確認してください。
---> System.Data.ProviderIncompatibleException: プロバイダーは ProviderManifestToken 文字列を返しませんでした。
---> System.Data.SqlClient.SqlException: SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 25 - 接続文字列が無効です)
しようとすると同じエラーが発生しますAdd-Migration
これが私の接続文字列です。SQLEXPRESS ではなく、ローカル SQL サーバーにアクセスする必要があります。
<connectionStrings>
<add name="ReaderInsightDbContext"
connectionString="data source=localhost\MSSQLSERVER;
initial catalog=ReaderInsight;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
私のDBは次の場所にあります:
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
したがって、私のインスタンスは MSSQLSERVER です。何が起こっているのかわからない。最初は問題なく動作していましたが、UOW パターンを使用するようにコードを変更した後、これが発生しています。また、EF 4.3 から EF5 にアップグレードしました。同じ問題。
接続文字列でデータ ソースのさまざまなバリエーションを試しましたが、どれも機能しません。いくつかの例を次に示します。
- ローカルホスト\MSSQL サーバー
- .\MSSQL サーバー
- //localhost\MSSQLSERVER
- (ローカル)\MSSQLSERVER
- 127.0.0.1\MSSQL サーバー
.\SQLEXPRESS を実行すると動作します。