[英]Entity Framework Is Null, Is Not Null Using DB2
我试过这个:
<pre>var query = this.context.PERFIL_ALERTA.Where(x => x.CodigoEmpresa == EmpresaId && x.IdAtividade == null);<code>
但是实体这样做:
SELECT
CAST(NULL AS decimal(18,2)) AS C1,
CAST(NULL AS decimal(18,2)) AS C2,
CAST(NULL AS decimal(18,2)) AS C3,
CAST(NULL AS varchar(1)) AS C4,
CAST(NULL AS decimal(18,2)) AS C5,
CAST(NULL AS decimal(18,2)) AS C6,
CAST(NULL AS decimal(18,2)) AS C7,
CAST(NULL AS decimal(18,2)) AS C8,
CAST(NULL AS varchar(1)) AS C9,
CAST(NULL AS timestamp) AS C10
FROM ( SELECT CAST(1 AS int) AS X FROM SYSIBM.SYSDUMMY1 ) AS SingleRowTable1
WHERE CAST('t' AS boolean) = CAST('f' AS boolean)
并给我一个错误:
异常 -> 错误 [42846] [CLASS][DB2/NT64] SQL0461N 不能将数据类型为“SYSCLASS.VARCHAR”的值转换为类型“SYSCLASS.BOOLEAN”。
并在 DB2 中进行调试:
-- 在 355 毫秒内失败,错误为:ERROR [42846] [CLASS][DB2/NT64] SQL0461N 不能将数据类型为“SYSCLASS.VARCHAR”的值转换为类型“SYSCLASS.BOOLEAN”。
我在 DB2 表上有一个可为空的字段。 如何进行空比较?
在 sqlserver 上工作正常...但在 db2....
工作中的一位同事帮助了我。 我的地图错了。 字段 idAtividade 可以为空。 该关系需要是可选的。
this.HasRequired (T => t.ATIVIDADE)
.WithMany (T => t.PERFIL_ALERTAs)
.HasForeignKey (T => t.IdAtividade);
更正
this.HasOptional (T => t.ATIVIDADE)
.WithMany (T => t.PERFIL_ALERTAs)
.HasForeignKey (T => t.IdAtividade);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.