2016-12-06 91 views
0

我的一個實體有一個布爾屬性。其中一個linq查詢過濾此屬性。DotConnect低效布爾比較SQL代

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

當我查看生成的SQL代碼,然後將查詢轉換爲

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

這顯然是一個問題,因爲該數據庫不走索引反而使得全表的訪問。

我們使用的是.NET 4.6,實體框架6,DevArt 8.5和Oracle 12 Oracle中的布爾字段是一個數字(1,0)

+0

在這種情況下,位圖索引將起作用。但是,位圖索引並不總是合適的。請參閱[位圖索引與B-tree索引:哪個和何時?](http://www.oracle.com/technetwork/articles/sharma-indexes-093638.html)。你試過了嗎?(一個=> one.BoolProperty!= false)'? –

回答