LINQ to SQL Expression“Orderby”帮助

时间:2011-06-01 11:26:05

标签: c# .net sql linq

我当前有一个LINQ表达式,虽然我想知道它可以在这种情况下使用“orderby”指令和特定字段“CDGenre”,例如。

DataClassesDataContext db = new DataClassesDataContext (); {
from p in db.ArtistName
**orderby p.CDGenre** accending;
select p.CDTitle;
}

这句话会实现吗?

5 个答案:

答案 0 :(得分:3)

它是“升序”而非“加入”。也许这就是问题(最后是分号):

from p in db.ArtistName
orderby p.CDGenre ascending
select p.CDTitle;

答案 1 :(得分:1)

语法看起来对我来说,还有以下选项:

(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);

答案 2 :(得分:0)

来自101 Linq Samples

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;

应该工作。

答案 3 :(得分:0)

您的主要想法已经正确,但默认排序顺序已经提升,因此不需要额外的内容。

from p in db.ArtistName
orderby p.CDGenre
select p.CDTitle;

按降序排列,请使用

from p in db.ArtistName
orderby p.CDGenre descending
select p.CDTitle;

答案 4 :(得分:0)

虽然我还没有尝试过,但根据这个伟大的样本页面,这是正确的方法:

LINQ samples

orderby sample