已检查上下文中的 DevForce 查询问题

Problems with DevForce queries within a checked context

我们正在切换我们的代码库以默认启用 Check for arithmetic overflow/underflow 选项,我们 运行 遇到了 DevForce 查询的问题。

我能够使用非常基本的查询重现该问题,例如针对 NorthwindIB 数据库的查询:

var coolProducts = em.Products.Where(p => p.UnitsInStock == 42).Execute();

通过进行一些调试,DevForce 似乎正在尝试将该查询添加到缓存中,这涉及为查询制作哈希码。 class 生成哈希码 (ExpressionHashCodeCalculator) 缺少 ConvertChecked ExpressionType 的开关盒,因此它抛出一个 ArgumentException 说 "Unknown Expression type".

当您 运行 在已检查的上下文中时,编译器似乎将 ConvertChecked 东西洒在表达式中的所有地方。

感谢您报告此事。它将在 3 月发布的下一个版本中修复。