所以我最近从db更新了我的实体模型,以反映对各列的一些更改。我相信唯一的变化是将一些“smallint”变成普通的int。
现在当我运行以下这些行时,我得到'数据类型smallint的算术溢出错误,值= 65676'错误,但问题是我以前从未得到它,而我只是收集了一堆条目,那么数学甚至涉及哪个会导致这个问题呢?
var gameTeamKeys = gameTeams.Select(i => i.GameTeamKey).ToList();
var foundGameTeamPlayers = db.GameTeamPlayers.AsNoTracking().Where(i => i.IsActive == 1 && i.IsDeleted == 0 && gameTeamKeys.Contains(i.GameTeamKey.Value)).ToList();
gameTeamPlayers.AddRange(foundGameTeamPlayers);
第二行是抛出错误的地方。我不确定LINQ在幕后做什么导致它现在失败,我在VS中悬停的所有内容都表示int(虽然我不知道如果int16,它会说不同,但它再次起作用)。
以下是实际错误:
System.Data.Entity.Core.EntityCommandExecutionException:'从商店提供商的数据阅读器读取时发生错误
溢出错误是内部异常,如果有帮助的话。
为什么会失败,我该如何解决?
其他信息:
当我在Management Studio中运行此查询时,我得到了75678个结果,这显然高于小int的限制,但是我不知道它在以前工作时会如何应用,并且列表是对象类型,那里不是任何金额或任何东西。