1

POCO を使用しており、Item と ItemContact の 2 つのエンティティがあります。アイテムごとに 1 つ以上の連絡先があります。

項目の主キー:

アイテム ID 言語コード

ItemContact には:

アイテム ID 連絡先 ID

キーが異なるため、参照制約を伴う関連付けを追加することはできません。languageCode が ItemContact になく、ContactID が Item にないため、厳密なプライマリ/外部キーはありません。

直接リンクがなく、アイテムの連絡先を表示したい場合、これをアイテムの連絡先の関連付けにマッピングするにはどうすればよいですか?

エンティティの 1 つはデータベース ビューに由来するため、外部キーをデータベースに追加することはできません

ありがとう

スティーブン・ウォード

4

1 に答える 1

2

関係を作成するには(EFまたはORMで)、参加する何かが必要です。

現時点では、何かを作成する必要があるため...

私が考えることができる唯一のオプションは、関係を作成することです -ここで説明されているのと同じテクニックのいくつかを使用して SSDL ビューを作成<DefiningQuery>し、クロス積結合に基づく関係を使用して関係をバックアップします。

したがって、次のようなデータがある場合:

ItemID | LanguageCode
1 | a

この:

ItemID | ContactID
1 | x
1 | y
1 | z

次に、<DefiningQuery>次のようなものを生成する T-SQL が必要です。

Item_ItemID | Item_LanguageCode | ItemContact_ItemID | ItemContact_ContactID
1 | a | 1 | x
1 | a | 1 | y
1 | a | 1 | z

これは技術的には独立した関連付けであるため (FK 関連付けとは対照的に)、カーディナリティが 1 であることを CSDL で主張できるはずです。 * - *。

お役に立てれば

アレックス

于 2010-04-27T07:35:09.403 に答える