交叉表LinqToSQL查询WP7 C#

时间:2012-07-31 22:52:28

标签: c# windows-phone-7 linq-to-sql

基本上,我有三个表,我们称之为TableA,TableB和TableC。

表A& B有两列感兴趣,ID&值。表C有三列,ID,A_ID和B_ID。

我正在构建一个LinqToSQL查询:

  • 返回表A和表B中的值,其中表C具有包含A& A的记录。 B的ID

示例:

enter image description here

返回的记录应为特定类型:

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

有人可以帮忙吗?

1 个答案:

答案 0 :(得分: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 });