現在SQL Serverデータベースを使用しており、Entity Frameworkを使用してASP.Netに接続する必要があります。私は現在データベースに外部キーを持っていませんが、データベースを足場にして、.Include()
のようなコマンドでLINQクエリを実行することはできますか?ASP.Netエンティティフレームワークを使用してSQL Serverデータベースをスカフォールドにする方法
現在発生している問題は、データベースモデルに履歴データが格納されているため、複合主キーを持つ複数のテーブルがあるためです。データベースの1対1の関係がなければ、私は.Include()
メソッドのような関係に関して何らかのクエリを実行することができません。
次のようにだから私の質問は以下のとおりです。
は、私はそのような
.Include()
などの機能を使用するために、SQL Serverデータベースの外部キーを含める必要がありますか?プライマリコンポジットキーとSQL Serverデータベース内の単一のPKとの間にFK関係を含める最も簡単な方法は、複合プライマリキーをSQL Serverデータベースに関連付けるためにテーブルにダミー列を作成することですテーブルの外部キー。ダミー列を作成したり、データを再構築したりする以外にFK関係を作成するには、より良い方法がありますか?以下は
単一の主キーに複合主キーがどのように見えるかの例です:
ID*| CODE* | YEAR* | SEQ*| DATA
01 | ABCD | 2015 | 01 | 23
01 | ABCD | 2016 | 01 | 24
02 | ABCD | 2016 | 01 | 21
CODE* | DESC
ABCD | AlphabetSoup
- は
従属エンティティFKは、主体エンティティPKを指すのに必要です。あなたの例では、コンポジットPKを持つテーブルが従属テーブルなので、 'Table1.CODE'を' Table2とのFKアソシエーションに設定することに問題はありません。コード。関連は多く(表1)から1(表2)になります。 –