我正在使用VB.net的Entity框架。我试图将null值传递给类型为double的参数。当我向该方法传递“nothing”时,它将其视为默认值0而不是null。当我传递DBNull.value时,我收到错误,因为Cast无效。这是我的主叫线和接收线。
Linq查询
From x In MyDbContext.uspSearch((txtFrom.Text = "", DBNull.Value, txtFrom.Text)...
在实体框架中调用的方法
Public Function uspSearch(FromParm As Nullable(Of Global.System.Double)) As ObjectResult(Of uspSearch_Result)
答案 0 :(得分:0)
试试这个:
From x In MyDbContext.uspSearch(IF(txtFrom.Text = "", CType(Nothing, Double?), txtFrom.Text))
如果您尝试将其隐式转换为double,则默认Nothing为0,但您可以为Nullale(Double)显式创建NULL值