2012-07-17 33 views
1

尝试这样:我不能在连接中使用两个不同的条件吗?

myStructs = from MyObject s in MyObjects 
      join c in Categories on s.CategoryID equals c.Item1 && s.Stars equals c.Item2 
      select s; 

,但似乎我不能在加入写道2的条件?我错在哪里?在SQL可以做到这一点,以及...

回答

2

你需要一个匿名类型加入多个条件/字段:

myStructs = from s in MyObjects 
      join c in Categories 
      on new { s.CategoryID, s.Stars } equals new { CategoryID = c.Item1, Stars = c.Item2 } 
      select s; 
+0

它说,“其中的一个表达式的联接子句中的类型不正确'“ – markzzz 2012-07-17 15:39:33

+0

@markzzz:编辑我的答案,你需要在匿名类型中使用相同的名称。 – 2012-07-17 15:43:52

相关问题