2

基本的に、私は 3 つのテーブルを持っています。それらを TableA、TableB、および TableC と呼びましょう。

テーブル A と B には、関心のある 2 つの列、ID と値があります。テーブル C には、ID、A_ID、および B_ID の 3 つの列があります。

次のような LinqToSQL クエリを構築しようとしています。

  • テーブル C に A と B の両方の ID を含むレコードがあるテーブル A と B から値を返します

例:

ここに画像の説明を入力

返されるレコードは、特定のタイプである必要があります。

public class RecordClass
{
    string A_Value;
    string B_Value;
    public RecordClass()
    {
        A_Value = "";
        B_Value == "":
    }
}

誰でも助けてもらえますか?

4

1 に答える 1

2

内部結合が必要なようです:

 var query = from a in tableA
             from b in tableB
             join c in tableC on new { A_ID = a.ID, B_ID = b.ID } 
                          equals new { c.A_ID, c.B_ID }
             select new RecordClass { A_Value = a.Value, B_Value = b.Value };

編集: あるいは、LINQ to SQL モデルが正しく配線されている場合は、はるかに簡単になる可能性があります。

var query = tableC.Select(c => new RecordClass { A_Value = c.A.Value,
                                                 B_Value = c.B.Value });
于 2012-07-31T22:54:20.880 に答える