已检查上下文中的 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 月发布的下一个版本中修复。
我们正在切换我们的代码库以默认启用 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 月发布的下一个版本中修复。