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;
}

这句话能达到这个目的吗?

LINQ到SQL表达式”;Orderby“;帮助

它是"升序"而不是"加速"。也许这就是问题所在(最后还有分号):

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样本

按样本排序