我正在尝试为遗留数据库创建一些 CRUD 功能并将实体框架用作 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));