0

構成ファイルを使用してコードを最初に使用し、構成ファイルを使用せずにEntity Framework 5を使用してDBContextいます(すべてデフォルト)。デフォルトのインスタンスが.\SQLEXPRESSインストールされたSQLServer2008 R2と、SQL Server 2012 Express LocalDB(localdb)\v11.0)があります。

フレームワークはこれらを並べて処理できないようで、アプリを実行すると例外がスローされます。SQL Server 2012 Express LocalDBを削除して確認しましたが、正常に動作します。

興味深い点は、NuGetを実行してVS2010またはVS2012のいずれかにEntityFrameworkをインストールすると、VSがクラッシュし、フレームワークのインストールに失敗することです。私の疑いは、どちらの場合も同様のコードがサーバーの検索/選択に使用されていることです。この投稿は、これをEntity Frameworkチームの注意を引くことを目的としており、必ずしもここで解決するわけではありません。チームが必要とする可能性のある追加データを提供させていただきます。

編集 -

NuGetの問題が発生する可能性のある場所を見つけました。

EF NuGetパッケージをインストールすると、インストールしたSQL ExpressまたはLocalDbに応じて、SQLExpressまたはLocalDbのいずれかを指すデフォルトの接続ファクトリが登録されました。

4

1 に答える 1

0

投稿に十分な詳細がないため、EFバグであるかどうかを判断するのは困難です。SqlExpressとLocalDBの両方があるシナリオがサポートされており、機能するはずです。SqlExpressは、デフォルトでVS2010とともにインストールされますが、デフォルトのデータベースソリューションがLocalDbであるVS2012ではインストールされません。ボックスにSqlExpressがインストールされているかどうかを検出するコードがあり、インストールすると、それに応じて構成ファイルにエントリが追加されます。SqlExpress LocalDBがない場合は、VS2012のAFAIRをデフォルトで使用する必要があります。EFnugetパッケージをインストールするときにVSがクラッシュするのを見たことがありません。上で述べたように、これがEFのバグであるかどうかを判断するのに十分な詳細はありません。つまり、VS自体(インストール/共通コンポーネントが何らかの理由で壊れている可能性があります)、NuGet、PowerShell(実際にdllをインストールするスクリプトはPowerShellスクリプトです)およびもちろんEF。ここでこの問題を報告してください:http://entityframework.codeplex.com/-このようにして、EFチームがバグを調査します。問題を再現できるように、できるだけ詳細を入力してください。

于 2012-09-12T16:46:12.667 に答える