1

私はEntity Frameworkをまったく初めて使用し、いくつかの読書を行いました。テストとして、2つの小さなエンティティのみを含む非常に簡単なテストフレームワークをまとめました。次に、右クリックして [モデルからデータベースを生成] を選択すると、[SQL 接続] ページが表示されます。ただし、以前に使用した接続はドロップダウン リストに表示されず、[新しい接続の作成] を選択すると、[SQL Server Compact 3.5] または [SQL Server データベース ファイル] を使用するオプションしかありません。

以前に SQL Express でこれに遭遇しました。回避策は、必要なデータベースにアクセスするための独自の接続文字列を作成することです。しかし、Entity Framework を使用してデータベースを作成しているため、適切な接続文字列を記述することはできません。

したがって、私はキャッチ 22 の状況にあるようです。

  1. データベースが作成されるまで接続文字列を書き込めません。
  2. (接続文字列を介して) SQL Server にアクセスせずに EF からデータベースを作成することはできません。

誰でもこれに遭遇したり、私が間違っていることを指摘したりできます。私が言ったように、私はEFにまったく慣れていないので、これが非常に基本的な質問である場合は申し訳ありません.

4

2 に答える 2

1

ユーザーインスタンスでデータベースファイルを使用する場合を除き、SQL Management Studio Expressを使用するか、SQLCMDコマンドラインツールを使用してデータベースを作成する必要があります。私の意見では習得しやすいので、SQL ManagementStudioExpressをお勧めします。

Entity Frameworkツールは、データベース自体ではなく、データベーススキーマの作成に使用することを目的としています。それでも、ファイルグループ、セキュリティ情報、および空のデータベースの作成と構成に関するその他の基本事項を定義する必要があります。

適切なリンクについては、次のQ/Aを参照してください。

SQLコマンドを使用してSQLExpressでDBを作成するにはどうすればよいですか?

于 2012-08-21T04:34:30.917 に答える
0

@psuedocoder に感謝します。あなたの支援が問題の解決に役立ちました。最終的に答えはシンプルでしたが、私には直感的ではなかったので、苦労しました。答えを詳しく説明することで、私と同じように Entity Framework を初めて使用する他の人に役立つかもしれないと思いました。

Visual Studio から

  1. Visual Studio で EF モデルを作成します。
  2. モデル キャンバスを右クリックし、[モデルからデータベースを生成] を選択します。
  3. 次に、データベース接続を選択するよう求められます。「新しい接続」を選択します。
  4. [接続の追加] ダイアログ ボックスで、既存のデータベースの [参照] ではなく、[データベース] テキスト ボックスに新しいデータベースの名前を入力し、[接続] をクリックします。
  5. 接続しようとすると、データベースが存在しないという警告が表示されますが、VS で「作成」するかどうかを尋ねられます。[はい] を選択します。

@psuedocoder が述べているように、これは実際には SQL Server にデータベースを作成しませんが、データベースを作成するために必要な TSQL スクリプトを含むオブジェクトを VS ソリューションに作成します。

SSMS から

  1. SQL Server Management Studio に移動し、上記の手順 4 で使用したものと同じ名前の空のデータベースを作成します。
  2. SSMS で [開いているファイル] を選択し、VS ソリューション ファイルを含む Windows フォルダーに移動します。
  3. TSQL スクリプト ファイルを開きます。これには DB スクリプト アイコンがあり、.edmx 拡張子が付きます。
  4. [実行] をクリックすると、EF モデルから新しいデータベースが作成されます。
于 2012-08-21T14:27:47.483 に答える