星期三, 10月 28, 2009

用Linq to SQL亂數取一筆

今天遇到一個問題..話說..想要在一個 table 裡亂數抓一筆出來..我們用 t-sql 都會這樣下..

"SELECT TOP (1) *, NEWID() AS rowsNumber FROM dbo.訂貨主檔 ORDER BY rowsNumber"

這樣就可以取出來了..那Linqㄟ..可以很簡單的做到嗎..可以的不過要轉個彎..看code吧..

using (var db = new DataClassesDataContext())
{
int total = db.訂貨主檔s.Count();
int skipRecord = new Random().Next() % total;
var data = db.訂貨主檔s.Skip(skipRecord).Take(1);
GridView1.DataSource = data;
GridView1.DataBind();
}

一點都不難吧..雖然說還是沒有直接下tsql來的爽快..不過轉個彎來達到答案..也是蠻不錯的感覺..^__^||..

參考:
http://msdn.microsoft.com/zh-tw/library/bb386976.aspx

1 則留言:

匿名 提到...

Good fill someone in on and this fill someone in on helped me alot in my college assignement. Gratefulness you as your information.