0
var result=from stdnt in students
           join lssn in lessons on new {number ==stdnt.state==true ? stdnt.newnumber : s.oldnumber}
equals new {number ==stdnt.state==true ? lssn.newnumber : lssn.oldnumber}
 select new {.... };

'lssn' name 'equals' 演算子は右辺を尊重しません。式の 'equals' 演算子は辺の変更を考慮します。

4

1 に答える 1

0

クエリを単純化してみてください。

var reslt = from stdnt in students
            join lssn in lessons on (stdnt.state ? stdnt.newnumber : stdnt.oldnumber)
            equals (lssn.state ? lssn.newnumber : lssn.oldnumber)
            select new { ... };
于 2013-11-10T21:10:12.280 に答える