4.0 winforms アプリケーション (Win2008/VS2012/ ClickOnce でビルド) で、Entity Framework 5 Code First (データベースの初期化を含む、移行なし) で LocalDB データベースを使用しています。
ビルド/発行後、アプリケーションがデータベース (c:\Admin[WindowsAccountName] の既定のパスにあります) に接続できない場合があります: Visual Studio から、または顧客のコンピューターからデバッグする場合。例外は、TryGetConnection の System.Data.SqlClient.SqlException、「ログインに失敗しました」です。
次の場合は修正できます。
- データベースファイルを削除します(EFによって再作成されました)
- 接続文字列のデータベース名を変更します (再び、データベースが再作成されます)
- データベースファイルを(バックカップを保持するために)圧縮し、それらを削除して(解決策1を確認するために)、同じ場所に解凍しましたが、うまくいきました(奇妙ですが本当です)
- 新しいコンピューターでは問題ありません
私の接続文字列は次のとおりです。
<add name="SupplyChainContext" providerName="System.Data.SqlClient"
connectionString="Server=(localdb)\v11.0;Database=MySupplyChainDb;
Trusted_Connection=true;Integrated Security=True;MultipleActiveResultSets=True"/>
それは昨日再び起こりました、そして私が行ったコードの変更はデータベースとは何の関係もありません: CodeFirst オブジェクトは変更されませんでした.
インストールが機能するかどうか確信が持てなかった、Visual Basic 展開の暗黒時代を思い起こさせます。