0
將我的項目更新到DevArt V7.2.114後,我發現有些查詢不會返回結果,儘管生成的SQL在TOAD中直接執行時會返回結果。如果我切換回到7.0.25版,一切正常。DevArt dotConnect for Oracle在EF 4.0字符串上出現奇怪行爲
我的數據庫客戶表看起來是這樣的:
SomeField | Firstname | CustomerNo
(null) | John | 12345
12345 | John | 12345
828282 | Mark | 12346
我的查詢看起來是這樣的:
var firstNameToSearch = "John";
var someFieldToSearch = null;
var result = from customer in context.Customers
join someTable in context.SomeTables on customer.CustomerNo equals "12345"
where someTable.SomeCondition && (someTable.SomeField == someFieldToSearch || someFieldToSearch == null) && (customer.Firstname == firstNameToSearch || firstNameToSearch == null)
現在,當我執行EF-查詢這將導致0的記錄,沒有根本不例外。但是如果我使用SQL命令,將會產生2條記錄。
如果我在2號線更改代碼:
var someFieldToSearch = string.Empty;
它將返回正確的結果。
我發現了一些線索指向此代碼:
Devart.Data.Oracle.Entity.OracleEntityProviderServices.HandleNullStringsAsEmptyStrings = true;
但它沒有效果。
感謝您的提示。在這種情況下,我們正在使用直接模式。我沒有發佈SQL,因爲原始查詢要複雜得多,但我會嘗試。首先我會檢查最新版本。有關於我們的問題的更新嗎? – sprinter252