2009-04-19 50 views
0

我有一個名單列表的表。該表具有ID列,該列是自動增加的號碼。我想展示在我的網站上,例如:如何在LINQ表中獲得當前使用的最高ID號?

「迄今爲止創建的6,523,213個名字」。

所以,我需要從我的名字表中獲得最高的索引號/ ID號。

我可以想到一些方法來做到這一點,我可以通過desc OrderBy ID並選擇第一個。但這可能不是最快的方法。我也可以在某個地方粘貼一個字段,並在每次向數據庫中插入一個新名字時增加它。

有沒有更簡單/快速的LINQ express來做到這一點?

回答

3

你可以簡單地請使用COUNT或LINQ的MAX方法:

Assumming該名稱的一個DataContext並命名爲「名」與所謂的「ID」主鍵的實體。無論是這些將工作:

DataContext db = new DataContext(); 
var nameCount = db.Names.Count(); 

var nameCount = db.Names.Select(n => n.Id).Max(); 
+0

何塞 - 你不需要選擇,您也可以叫Max,具有選擇如VAR nameCount = db.Names.Max(N => n.Id); – 2009-04-20 10:49:03

0

我認爲你真正想要做的是計數行 - 沒有得到最高的索引。真的

SELECT COUNT(ColumnName) FROM TableName 

如果您: - 考慮會發生什麼,當一條記錄被刪除註冊名稱的數量減少一個,但指數最高不...

在普通的SQL,您可以使用此想用LINQ來做,我認爲this會起作用。

相關問題