我是Linq的新手。我只想知道如何通過列表位置在Linq中應用c#表達式進行排序。如果有可能,請告訴我,或者如果不是,背後的原因是什麼? 喜歡Sql是否可以按linq中的列位置進行排序?
SELECT Title, FirstName, LastName
FROM Employees
ORDER BY 1,3
我是Linq的新手。我只想知道如何通過列表位置在Linq中應用c#表達式進行排序。如果有可能,請告訴我,或者如果不是,背後的原因是什麼? 喜歡Sql是否可以按linq中的列位置進行排序?
SELECT Title, FirstName, LastName
FROM Employees
ORDER BY 1,3
這不可能在LINQ和SQL的不好的做法。只需指定您想要排序的列/屬性即可。
等效的LINQ查詢是這樣的:
employees.Select(x => new { x.Title, x.FirstName, x.LastName })
.OrderBy(x => x.Title)
.ThenBy(x => x.LastName);
或者在查詢語法:
from e in employees
order by e.Title, e.LastName
select new { x.Title, x.FirstName, x.LastName };
不excatly知道你的意思,但如果你的意思是:
SELECT Title, FirstName, LastName FROM Employees ORDER BY Title, LastName
然後你會這麼做:
var results = from e in context.Employees
order by e.Title, e.Lastname
select e;
或
var results = context.Employees.OrderBy(e => e.Title).ThenBy(e => e.LastName)
以備將來使用一個很好的參考:
好吧,我明白了,非常感謝你的參考。 –
但是如何使用您的查詢我的,並在條款意味着沒有被那裏? –
您可以按原樣使用它。這是*方法鏈*語法。我用等價的* query *語法樣本更新了我的答案。 –
好的,現在就完成了。 –