私はLinqが初めてです。列の位置による並べ替えがC#式を使用してLinqでどのように適用されるかを知りたいだけです。可能であれば教えてください。そうでない場合は、その背後にある理由は何ですか? Sqlのように
SELECT Title, FirstName, LastName
FROM Employees
ORDER BY 1,3
私はLinqが初めてです。列の位置による並べ替えがC#式を使用してLinqでどのように適用されるかを知りたいだけです。可能であれば教えてください。そうでない場合は、その背後にある理由は何ですか? Sqlのように
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 };
あなたが何を意味するのか正確にはわかりませんが、あなたが意味するのは:
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)
将来の使用のための良いリファレンス: