在Linq to Entities / Entity SQL中選擇Max with type conversion

entity-framework linq max select type-conversion

我正在嘗試為遺留數據庫創建一些CRUD功能,並使用Entity Framework作為ORM工具。一個表“站點”具有Guid類型“Id”列,用戶從未看到它,用戶用來識別站點的整數類型“SiteId”。

因為上帝知道數據SiteId列在數據庫中的類型是varchar(10)是什麼原因,但是其中的每個SiteId都是一個整數,所有未來的SiteId也都是整數。

為了生成一個新的,唯一的整數類型的SiteId,我如何使用Entity SQL或Linq to Enities實際上做'SELECT MAX(SiteId)?

換句話說,如何將列中的每個值從varchar(10)轉換為int並從該集合中選擇最大值?

這看起來很有希望,但linq無法將解析轉換為“存儲過程”......

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

熱門答案

這有效......

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

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


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因