2

通常は外部データベースに接続しますが、ローカルデータベースを使用してプロジェクトを作成することをいじりたいと思いました。CEではなくSQLServerExpressローカルデータベースを使用しています。

EFを使用してテーブルを追加できますが、サーバーエクスプローラーで[テーブル]を右クリックすると、[更新]と[プロパティ]のみが表示されます。つまり、[テーブルの追加]メニューオプションはありません。同様に、EFが作成したテーブルの1つを右クリックすると、[更新]メニューオプションと[プロパティ]メニューオプションしか表示されないため、行などを追加できません。ストアドプロシージャでも同じ問題が発生します。[更新]メニューオプションと[プロパティ]メニューオプションしかないため、追加できません(EFとストアドプロシージャを使用してテストを実行する必要があります)。

フォローアップ:この問題をVS2012Professionalに限定しました。VS2010を使用すると、期待どおりに機能します。テーブルとストアドプロシージャを追加できます。VS2012で同じ手順を実行すると、テーブルまたはストアドプロシージャを追加するためのメニューオプションがない状況になります。これらのテスト結果は、SQLServer2012LocalDBを使用して作成しました。

4

3 に答える 3

9

サーバーエクスプローラーで[テーブル]を右クリックしたときに[更新とプロパティ]のみが表示される場合は、SQLServerデータツールをhttp://msdn.microsoft.com/en-us/data/hh297027からインストールする必要があります。

于 2013-03-03T01:35:32.963 に答える
1

www.asp.netの「GettingstartedwithASP.Net MVC3」に続いて、Visual Studio 2012 ExpressforWebでのみ同様の問題が発生しました。チュートリアルではSQLServerCompactエディションを使用しましたが、SQL Express 2012を使用しているため、接続文字列を変更して、データソースがローカルインスタンス。\SQLExpress2012を指すようにしました。アプリは正常に動作し、データベースの読み取りと書き込みができました。ただし、Visual Studio Expressデータベースエクスプローラーでデータベースを編集できませんでした(「更新」と「プロパティ」を除くすべてのコンテキストメニューオプションがありませんでした)。

接続文字列のデータソースを「DataSource=(LocalDB)\ v11.0;」に変更すると、問題が修正されたことがわかりました。SQL Serverインスタンス名の代わりにLocalDbを使用すると、ユーザーアカウントでアクセスされることをどこかで読みました。これは、何らかのアクセス許可の問題であったに違いありません。

(動作中の)接続文字列全体は次のとおりです。 "Data Source =(LocalDB)\ v11.0; AttachDBFilename = | DataDirectory | Movies.mdf; Integrated Security = True;"

これで誰かが髪を抜くのに何時間も節約できることを願っています、私は今ほとんどハゲです:)

于 2013-03-17T11:47:03.910 に答える
1

Visual Studio 2013をインストールするときに、「SQLServerデータツール」機能を要求していなかったことがわかりました。

「コントロールパネル」>「プログラムと機能」からインストーラーを再実行し、「変更」オプションを使用することで、不足している機能を追加できます。完了すると、[新しいテーブルの追加]メニュー項目が使用可能になりました。

于 2014-10-20T11:18:21.020 に答える