LINQ到SQL表达式”;Orderby“;帮助
本文关键字:Orderby 帮助 SQL 表达式 LINQ | 更新日期: 2023-09-27 17:58:13
我目前有一个LINQ表达式,尽管我想知道在这种情况下可以将"orderby"指令与特定字段结合使用,例如
DataClassesDataContext db = new DataClassesDataContext (); {
from p in db.ArtistName
**orderby p.CDGenre** accending;
select p.CDTitle;
}
这句话能达到这个目的吗?
它是"升序"而不是"加速"。也许这就是问题所在(最后还有分号):
from p in db.ArtistName
orderby p.CDGenre ascending
select p.CDTitle;
语法对我来说很正确,还有以下选项:
(from p in db.ArtistName
select p.CDTitle).OrderBy(p => p.CDGenre);
编辑:如果您想在select语句中选择多个内容,可以选择一个对象:
(from p in db.ArtistName
select new CDObject(p.CDTitle,p.CDGenre,p.CDArtist)).OrderBy(p => p.CDGenre);
来自101个Linq样本:
public void Linq29()
{
string[] words = { "cherry", "apple", "blueberry" };
var sortedWords =
from w in words
orderby w.Length
select w;
Console.WriteLine("The sorted list of words (by length):");
foreach (var w in sortedWords)
{
Console.WriteLine(w);
}
}
您的代码片段看起来几乎正确,但无法编译:
from p in db.ArtistName
orderby p.CDGenre ascending
select p.CDTitle;
应该有效。
您的主要想法已经是正确的,尽管默认排序顺序已经是升序,因此不需要额外的内容。
from p in db.ArtistName
orderby p.CDGenre
select p.CDTitle;
对于降序,请使用
from p in db.ArtistName
orderby p.CDGenre descending
select p.CDTitle;
虽然我还没有尝试过,但根据这个伟大的样本页面,这是正确的方法:
LINQ样本
按样本排序