如何讓 LINQ 支援亂數排序功能

  分享到噗浪!

從一個國外的討論區 ( LINQ in Action forum ) 得知一個在使用 LINQ 時的小技巧,可以在使用 LINQ to SQL 查詢的時候能有亂數排序的效果。

首先要讓 LINQ to SQL 能夠亂數排序必須先將環境設定好,以下有三個步驟要設定:

1. 先在資料庫中建立一個檢視表(View)

 

CREATE VIEW RandomView
AS
SELECT NEWID() As ID

2. 再到資料庫中建立一個自訂函數(Function)

CREATE FUNCTION GetNewId
(
)
RETURNS uniqueidentifier
AS
BEGIN
RETURN (SELECT ID FROM RandomView)
END

P.S. 第一步驟是必要的,因為你沒辦法在 Function 中直接回傳一個 NEWID()

3. 最後,把這個 GetNewId 函數拖曳到 LINQ to SQL Class Designer 中,之後就可以使用了!

至於使用的方法也很簡單,如下:

 

MyDataContext db =  new MyDataContext();

var pics = from p in db.Pictures
               orderby db.GetNewId()
               select p;

相關連結

 

此文章由 will 發表於 2008/3/25 上午 12:02:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: .Net | C# | SQL Server | LINQ

標籤:

新增評論


( 您輸入的Email不會顯示於網站上 )

  Country flag

biuquote
  • 評論
  • 線上預覽
Loading