簡體   English   中英

LINQ 到 SQL 表達式“Orderby”幫助

[英]LINQ to SQL Expression “Orderby” help

我目前有一個 LINQ 表達式,盡管我想知道在這種情況下是否可以將“orderby”指令與特定字段結合使用“CDGenre”,例如

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 語句中的多個內容,您可以將 select 轉換為 object :

(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樣品

樣品訂購

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM