我在數據庫中有一個Code
類型的varchar
列,其中只包含數字。我使用下面的方法來獲得下一個代碼,它工作正常。但我更喜歡所有的計算和類型轉換在SQL方面完成,以減少開銷。使用下面的代碼,我檢索所有不需要的數據。任何想法真的很感激。使用LINQ查詢來獲取varchar列的最大值
public string GetNextCode(int type)
{
var codeList = (from o in ObjectQuery
where o.Type == Type
select o.Code).ToList<string>();
List<int> list = codeList.Select(int.Parse).ToList();
int nextDL = list.Max() + 1;
return nextDL.ToString();
}
哦,不過這是不行的,因爲例如' 「111」 <99>'while'111> 99' – Yalda
是的,這是有道理的,我讀了一個事實,即它是一個varchar而不是int,orderBy會將它按字母順序排列,因此orderByDescending中的99會比1000更高。 – JanR