EF生的SQL語句條件中會多出(XX is null) or(XX is null)的解決方法

在調試代碼的時候發現,EF生成的SQL查詢超慢(40s的查詢語句),然後自己根據需求寫的SQL運行只需要(0.001s)左右,對比了一下倆個SQL語句,發現ef生成的在條件後面會多出(XX IS NULL) OR(XX IS NULL)語句的尾巴,刪掉後,就正常了。

 經過多番查詢後找到以下解決方案:

1、this.Configuration.UseDatabaseNullSemantics = true; //關閉Ef自動生成的null判斷語句

2、在varchar類型上增加限定 [StringLength]或者是[Require]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章