2016-05-09 20 views
2

私はLINQの中で同じクエリを変換したときに、私は右の結果を取得しています なぜ私のLinquedクエリが私に適切な結果を与えていないのですか?

select Distinct(EmpNTLogin),Employee from Attendance 
where CreateDate>='2016-01-01' 
order by EmpNTLogin 

順を使用して、すなわちZへの並べ替え従業員のすべての名前私に適切な結果を与える。このSQLクエリを持っていますが、 order by節は機能しません。ここ は、あなたが最初の「どこ」節を適用し、「orderbyの」節を適用する必要が私のLinquedクエリ

var query = (from attendance in db.Attendances 
        orderby attendance.EmpNTLogin 
        where attendance.CreateDate.Value.Year >= 2016 
        select new { attendance.Employee, attendance.EmpNTLogin }).Distinct(); 

答えて

5

、明瞭ではorderby後に適用されるため、順序が破棄されます。

なって、まだ明確な

var query = (from attendance in db.Attendances 
      where attendance.CreateDate.Value.Year >= 2016 
      select new 
      { 
       attendance.Employee, 
       attendance.EmpNTLogin 
      }).Distinct().OrderBy(att => att.EmpNTLogin); 
0

です。このような 何か:LINQクエリで

var query = (from attendance in db.Attendances 
       where attendance.CreateDate.Value.Year >= 2016 
       orderby attendance.EmpNTLogin 
       select new { attendance.Employee, attendance.EmpNTLogin }).Distinct(); 
+0

ないの呼び出し後にORDERBYを適用します:( – akash

関連する問題