2016-03-31 4 views
0

私はEFでの作業にかなり新しいです。Entity Framework 6での関連付けを正しく定義する方法 - データベースを先に作成する?

私は非常に基本的かもしれないいくつかの質問があります。

私はデータベースを持っており、このデータベースから自分のオブジェクトモデルを生成しています(データベースが最初にあります)。

オブジェクトモデルの生成が完了したら、私の.edmxファイルをダブルクリックして、テーブルとその関連付けの完全な概要を取得します。

私の問題は、すべての関連付けが1から*です。関係の一部は、例えば、 1から0-1、

質問:エンティティフレームワークが正しい関連付けで生成されていることを確認するにはどうすればよいですか?私はこれは何とかテーブルを作成するSQLで定義する必要がありますね?

現時点では、間違った関連付けを作成するため、データベースからモデルを更新するたびにすべての関連付けを再設定する必要があります。

答えて

1

あなたの関係が適切に設定されていることを確認してください。私は、テーブル関係を調べて管理するためにSQL Server Management Studioにデータベースダイアグラムを作成することを好みます。

データベース内のテーブルの関係や列を調整してモデルを更新する必要がある場合は、そのテーブルを.edmxファイルから削除してから追加します。あなたのケースでは、すべてが間違っているように聞こえるので、.edmxファイルからすべてを削除して、適切な関係でテーブルを追加してください。

+0

こんにちは、説明と提案に感謝します。私はSQL Server Management Studioでこれを実行しようとします。ジョン・ハートソックも非常に良い説明をしていますが、私が最初に書いたのは答えとしてマークします。 – Diemauerdk

1

アソシエーションのタイプはいくつかあります。まず作業中のDBがアソシエーションを制御している場合です。以下はいくつかあります。

  • 1から0または多数: これはあなたが間に外部キーを作成するときに構築される:あなたは、フィールドへの外部キー
  • 1 0..1へを作成するときには、構築され 2つの主キー
  • 多くの場合: これは、両方のテーブルのプライマリキーのみを含む真のアソシエーションテーブルを構築するときに作成されます。

EFは外部キーが正確に設定されていないため、期待どおりの関係を生成しないと仮定することができます。

+0

説明に感謝します。これは役に立ちました。 – Diemauerdk

関連する問題