Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
交叉表LinqToSQL查询WP7 C#_C#_Windows Phone 7_Linq To Sql - Fatal编程技术网

交叉表LinqToSQL查询WP7 C#

交叉表LinqToSQL查询WP7 C#,c#,windows-phone-7,linq-to-sql,C#,Windows Phone 7,Linq To Sql,基本上,我有三张桌子,我们称它们为TableA,TableB和TableC 表A和B有两列关注点,ID和Value。表C有三列,ID、A_ID和B_ID 我希望构造一个LinqToSQL查询: 返回表A和表B中的值,其中表C的记录包含A和B的ID 例如: 返回的记录应为特定类型: public class RecordClass { string A_Value; string B_Value; public RecordClass() {

基本上,我有三张桌子,我们称它们为TableA,TableB和TableC

表A和B有两列关注点,ID和Value。表C有三列,ID、A_ID和B_ID

我希望构造一个LinqToSQL查询:

  • 返回表A和表B中的值,其中表C的记录包含A和B的ID
例如:

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

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

有人能帮忙吗?

听起来你只是想要一个内部连接:

 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到SQL模型,那么它可能会简单得多:

var query = tableC.Select(c => new RecordClass { A_Value = c.A.Value,
                                                 B_Value = c.B.Value });

谢谢你的回复。它很接近,但它抱怨“匿名类型不能有多个同名属性”-指的是“b.ID”。此外,表C不包含A_值或B_值,它们存储在各自的表中。TableC实际上只是一个配对表,它将TableA中的记录与TableB中的记录配对(使用它们的ID字段)。@user1567095:修复了在联接中使用
a_值
B_值
。。。但是我假设
table c
中的
A_值
B_值
是ID。我不明白如果你的代码不准确,你为什么要发布它。为我造成的混乱道歉。对于表C中的每条记录,我想使用A_ID和B_ID(都存储在表C中)来查找表A和B中与这些ID匹配的记录。另外,在执行时,我得到了这个错误“不支持方法“Join”。@user1567095:好的,所以更改代码以使用这些属性应该很容易。但我很担心,
Join
不受支持。这听起来确实很奇怪。。。您是否有其他LINQ操作正常工作?是的,我有其他LINQ查询成功工作。我能够成功地从所有表中提取记录,即使使用过滤器和排序。您的代码被识别并生成,但在执行时会抱怨。