0

概念的に関連する 2 つのテーブルがありますが、元のコーダーはテーブル間に FK 関係を作成しませんでした。

表1:

TABLE [Name](
ID [varchar](10) NOT NULL (this is the PK),
MAIL_ADDRESS_NUM [int] NOT NULL,
BILL_ADDRESS_NUM [int] NOT NULL,
Shipping_Address_Num [int] Not Null
)

表 2:

TABLE [Address](
ID [varchar](10) NOT NULL,
ADDRESS_NUM [int] NOT NULL (this is the PK),
PURPOSE [varchar](20) NOT NULL
)

オプションがあれば、MailingAddress の FK を AddressNumber に、BillingAddress を AddressNumber に、ShippingAddress を AddressNum に設定します。しかし、それは選択肢ではありません。

現在、私のLINQでは次のようなことをしています:

from n in Names.Where(predicate)
join ba in db.Addresses on n.BillingAddressNumber equals ba.AddressNumber
join sa in db.Addresses on n.ShippingAddressNumber equals sa.AddressNumber
join ma in db.Addresses on n.MailingAddressNumber equals ma.AddressNumber

EF と linq を正しく理解していれば、Edmx デザイン サーフェス内/上でその関連付けを作成し、クエリを簡素化できるはずです。正しい?

その場合、Edmx ファイルに正しい関連付けを追加するには、どのような手順を実行する必要がありますか? 私はいくつかの参照を見つけましたが、基礎となる XML ファイルをかなり操作する必要があるようです。それは必要ですか?また、これらのテーブルは厳密に読み取り専用です。VS2012 と EF5 を使用しています。

4

0 に答える 0