DotConnect 低效布尔值比较 SQL 代

DotConnect inefficient boolean compare SQL generation

我的一个实体有一个布尔值 属性。一个 linq 查询过滤器对此 属性。

context.Items.Where(one => one.BoolProperty == true)

当我查看生成的 SQL 代码时,查询被转换为

... WHERE "Extend1".BOOL_PROPERTY <> 0

这显然是个问题,因为数据库不使用索引而是进行完整的 table 访问。

我们正在使用.Net 4.6、Entity Framework 6、DevArt 8.5 和 Oracle 12。Oracle 中的布尔字段是一个 Number(1,0)

请在您的代码中设置以下选项:

config.QueryOptions.TrueValueNumber = TrueValueNumber.One;

有关详细信息,请参阅 https://www.devart.com/dotconnect/oracle/docs/?QueryOptions.html