1

私の問題は、2 を作成しようとしていますOrderByが、エンティティ フレームワーク用に 2 番目のものが生成されないことです。生成されたクエリを調べました。

これが私がやろうとしていることです

 var query = model.SomeTable.Where(condition);
 if (somecondition)
     query = query.OrderByDescending(o => o.Table1.Col1).OrderBy(c => c.Table1.Table2.SomeColumn);
 var result = query.Select(c => new 
                             {
                                 //selection here
                             });

Order by forTable1.Table2.SomeColumnが生成されますが、2 番目の OrderByTable1.Col1が生成されないため、結果が間違っています。

何か案は?

4

1 に答える 1

3

OrderBY と ThenBy の組み合わせを使用します。つまり:

query = query.OrderByDescending(o => o.Table1.Col1)
             .ThenBy(c => c.Table1.Table2.SomeColumn); 
于 2011-06-10T19:16:21.317 に答える