我有一個「t_cftc_ir_swaps
」一表以下字段空值在LINQ比較表達式
T_CFTC_IR_SWAP_ID Integer (Autonumber, PK)
PRODUCT Varchar
TRADEVOLUME_TYPE Varchar
TRADEVOLUME_BUCKET_1 Varchar
TRADEVOLUME_BUCKET_2 Varchar
TRADEVOLUME_GROUP Varchar
TRADEVOLUME Integer
RELEASE_DATE Date
TRADE_DATE Date
我使用實體框架的代碼級別。我正試圖在此表中插入一條記錄。但在此之前,我正在檢查表中是否存在該記錄。爲此目的,我有一個「RecordAlreadyExists」功能的代碼如下
現在,但同時插入一個新的記錄,如果我嘗試將所添加的記錄(對於TRADEVOLUME_BUCKET_2爲空值)與基礎表記錄進行比較,即使我可以查詢數據庫並查看錶中的匹配記錄,它也會返回「0」記錄。
在代碼中斷處,這是我嘗試插入的記錄。正如你可以看到它是否有「TRADEVOLUME_BUCKET_2」
與我們正在嘗試添加記錄匹配的記錄計空值「0」
當我在數據庫級別運行查詢我確實已經在基礎表中獲得匹配記錄
我甚至試圖在代碼中使用的DBNull如下
但出現以下情況例外,當我嘗試這樣做,在運行時 「無法創建類型的空恆定值「系統。目的'。只有實體類型,枚舉類型或基本類型在這種情況下」
我應該如何比較使用LINQ查詢空值的支持?
EF向數據庫發送什麼查詢? – 2014-10-29 11:07:31
您使用哪個版本的EF? – RobH 2014-10-29 11:17:17
@GertArnold - EntityFramework,Version = 5.0.0.0 – Asif 2014-10-29 11:31:47