2009-03-15 9 views

答えて

5

ないLINQの問題。スキーマに必要な場合は、それらを使用してください。あなたがしない場合、しないでください。いずれにせよ、LINQはあなたのスキーマをうまく処理します。

LINQ to SQLがうまく処理できない1つの領域は、多対多の関係を結ぶために使用される多列/キーマッピングテーブルですが、これはあなたの質問に該当するカテゴリの下にあります。 LINQ内のマッピングテーブルに対してCRUD操作を実行することはできますが、LINQは多対多マッピングテーブルによって示される関係を歩くことはできません。 (LINQは1対1,1テーブルでうまく動作します)

エンティティフレームワークの問題については話すことができませんが、EFがマルチカラム/マルチキーテーブル。

+0

実際、これはまさに多対多関係テーブルの問題でした。ありがとう –

0

ドメイン内で複数列の複合キーを使用することに意味がある場合は、1つを使用します。それ以外の場合は、通常の識別列をサロゲート主キーとして使用します。

EDIT:一般的なアドバイスであり、LINQtoSQLを使用した実装の技術的側面は考慮していません。これらは、対象とすることができる:

How to: Handle Composite Keys in Queries (LINQ to SQL)

LINQ To SQL Samples

Linq to SQL DTOs and composite objects

+0

これは、Linq to SQLが分割キーや追加の労力をかけずにコンポジットキーを処理できることを意味しますか? –

関連する問題