2009-06-29 56 views
2

我試圖創建一個遺留數據庫CRUD的一些功能和使用實體框架作爲一個ORM工具選擇最多到實體/實體SQL。一個表格'Sites'具有Guid類型的'Id'列,這是用戶從未見過的,以及用戶用來識別Site的整數類型'SiteId'。Linq中與類型轉換

因爲神知道的數字SITEID列是數據庫類型VARCHAR(10)的什麼原因,但在那裏每個SITEID是一個整數和所有未來的siteId也將是整數。

用於生成新的,獨特的,整數類型SITEID的目的,我該怎麼辦什麼是一個有效的「SELECT MAX(SITEID)」使用實體SQL或LINQ到Enities?

換句話說,我怎樣才能每值轉換在一列從varchar(10)爲一個int,然後從設定的最大值?

這看起來前途無量,但解析LINQ不能轉換成一個 「存儲過程」 ......

int x = entities.Sites.Max(s => int.Parse(s.SiteId)); 

回答

3

這工作...

String[] numbers = new String[] { "2", "34", "5", "23", "5", "1" }; 

var max = numbers.Max(x => Int32.Parse(x)); 
+1

甜感謝夥計,L2E明顯傾斜轉換解析成SQL,但與1個額外的步驟輕鬆解決。最終解決方案: string [] x = entities.Sites.Select(s => s.SiteId).ToArray(); int y = x.Max(i => int.Parse(i)); – andrej351 2009-06-29 06:51:33