具有多个条件的LINT On DataTables

Cat*_*key 2 c# linq datatable

这个查询似乎并不高兴.任何人的想法?

var results = from a in previousQuery
              join b in dtCounties.AsEnumerable()
              on new { a.CountyCode, a.StateCode } equals new { 
                  b.Field<string>("COUNTYCODE"),
                  b.Field<string>("StateCode") 
              }
              where b.Field<bool>("TrueOrFalse") == true
              select new
              {
                  CountyCode = a.CountyCode,
                  TrueOrFalse= b.Field<bool>("TrueOrFalse"),
                  Sum= a.Sum
              };
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

"无效的匿名类型成员声明符.必须使用成员赋值,简单名称或成员访问声明匿名类型成员."

对于连接右侧的2列(即 b.Field<string>("COUNTYCODE")b.Field<string>("StateCode")).

Sim*_*eon 7

这只是一个C#语法问题,而不是LINQ本身.考虑以下:

var a = new { "1" };     // Error
var a = new { a = "1" }; // OK
Run Code Online (Sandbox Code Playgroud)

只是为了澄清,以下是上述结果:

on new { cc = a.CountyCode, sc = a.StateCode }
    equals new { cc = b.Field<string>("COUNTYCODE"),
                 sc = b.Field<string>("StateCode") }
Run Code Online (Sandbox Code Playgroud)