在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));


许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因