天天看點

将不确定變為确定~Linq to SQL不能随機排序嗎?

一般來說,在T-SQL時代,随機排序可以進行newid()産生出guid值來實作,代碼一般為:

将不确定變為确定~Linq to SQL不能随機排序嗎?

SELECT TOP 10 * FROM User ORDER BY NEWID();

而到了linq to sql時代,由于産生的語句為延時的(可能是這個原因),是以你用類似這代碼:

是不能實作的,這時,如果你的linq to sql非要找個實作的方法,可以在目前資料上下文類中,加個函數:(注意,我們為了擴充性,最要建立一個分

部來做這事)

具體擴充代碼:

如果希望按着某個字元串中字元出現的次序,進行特定的排序,可以使用IndexOf,代碼如下:

有時,我們要為多個字段進行主要,次要的排序,這時,可以用linq自帶的ThenBy,比較簡單,就不舉例子了。