asp.net アプリケーションの .mdf ファイルに基づいてエンティティ モデル ファイル (.edmx) を作成し、App_Data
フォルダーに配置しました。
まず、エンティティ フレームワーク ウィザードによって作成された接続文字列:
<connectionStrings>
<add name="Sales_DBEntities"
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string='data source=.\SQLEXPRESS;attachdbfilename="c:\users\ext\documents\visual studio 2010\Projects\WebProject_A\WebProject_A\App_Data\Sales_DB.mdf";integrated security=True;USER INSTANCE=TRUE;multipleactiveresultsets=True;App=EntityFramework'"
providerName="System.Data.EntityClient" />
</connectionStrings>
上記はapp.config
、ウィザードによって作成されたファイルに配置されます。
同じ接続文字列をファイルにもコピーしましたweb.config
(これが必要かどうかはわかりません)。
後で自分のマシンで同じアプリケーションを実行しようとしたときに、2 つの問題に遭遇しました (別のマシンでアプリケーションを作成しました)。
最初はユーザーインスタンスに関するものでした:
ユーザー インスタンスのプロセスの開始に失敗したため、SQL Server のユーザー インスタンスを生成できませんでした。接続が閉じられます
私がよく理解していない最初のことは、ユーザー インスタンスが実際に定義するものです。
MSDNによると:
ユーザー インスタンスは、親インスタンスによって生成される SQL Server Express データベース エンジンの個別のインスタンスです。
ローカル データベースはユーザー インスタンスと見なされますか?
False としてマークすることを提案する投稿に出くわしたため、この問題について明確にしたいと思います。その理由は私には明らかではありませんでした。
そこから、この問題については、マシンの SQL Server でユーザー インスタンスを有効にする必要があることを説明する別のソリューションに出会いました。
私はその投稿で説明されたことをしました
しかし、今、私は新しい問題に遭遇しました:
ファイル (app_data\my.mdf ファイルへのフル パス) の自動命名データベースをアタッチしようとしています。同じ名前のデータベースが存在するか、指定されたファイルを開くことができないか、または UNC 共有に配置されています。
私はすでにすべてのファイルを削除しようとしました
C:\Documents and Settings\(your user account name)\Local Settings\Application Data\Microsoft\Microsoft SQL Server Data\SQLEXPRESS
他の投稿で提案されているように再起動しますが、それでもこの問題の明確な解決策が見つかりません。
これは長い投稿であることは承知していますが、助けていただければ幸いです
前もって感謝します。