2012-03-12 8 views
1

私は、Entity Framework Code Firstを使用してVisual Studio 2010でWebアプリケーションプロジェクトを作成しました。接続文字列を使用してdbファイルを置く場所を指定しました。しかし、私のプロジェクトにデータベースを追加すると(一度自動的に作成されると)、エラーのない範囲でアプリケーションを実行することができません.DBにはアクセスできません。認証エラー、使用中のデータベースを削除できません。認証エラーなしでアプリケーションを実行するために、VSをデータベースから切り離さなければならないのはなぜですか?

ソリューションエクスプローラでデータベースを「デタッチ」してアプリケーションを実行すると、正しく動作します。 SQL ServerインスタンスとVisual Studioが同時にDBにアクセスできないようにするか、別々のインスタンスが必要ですか?私は、VSを通して私のテーブルのデータを見るオプションがあるのが好きです。これは標準ですか、私は何か間違っていますか?

私は数時間前から検索していますが、解決策を見つけることができません。どんな助けもありがとう。

答えて

0

デフォルトのSQL Expressデータベースインスタンスを使用しているようです。つまり、一度に1つのアプリケーションだけがデータベースにアクセスできます。

SQL Expressは、兄弟のSQL Serverとは少し異なる動作をします。 SQL Serverは、SQL Expressがアプリケーションの一部であるランタイムであるアプリケーションからの接続を受け取るサーバーです。 SQL Serverを使用している場合は、アプリケーションとVisual Studio Server Explorerの両方がサーバーに対してオープンな接続を確立し、データベースに対してプロキシ形式でクエリを実行できます。 SQL Expressでは、Visual Studio Server ExplorerとASP.NETアプリケーションの両方がデータベースを開き、クエリを実行しようとしています。したがって、ロックとエラー。

あなたと他の誰かがWord文書を開いて同時に編集しようとした場合、まさにそうなるでしょう。

+0

ご返信ありがとうございます。私はSQL Expressを使用しているので、問題でなければならないと思います。私はテーブルデータが期待どおりに入っていることを確認した後、傷ついていないと思う。私は毎回サーバーインスタンスを再起動する必要があるかもしれないと思う。私は、F5を押してデバッグするたびにvsが切断されるという印象を受けました。もう一度、あなたの素早い返答と、それを明確にすることに感謝します。乾杯と最高! – Dubh

+0

@Dubh:残念ながら、ロックを管理するのはあなた次第です。 http://msdn.microsoft.com/en-us/library/ms247257.aspx – MyItchyChin

+0

もう一度お手伝いをしていただき、ありがとうございます。 – Dubh

関連する問題