【发布时间】:2017-12-05 03:32:34
【问题描述】:
我有一个带有如下 where 子句的 linq 查询
var ExistingGroupDataSource = (from ppatg in dbContext.XXXXXXXXX
join pd1 in dbContext.XXXXXXXXXXX on ppatg.ScheduleID equals pd1.ScheduleID
where pd1.GroupID == null
select
new
{
FinishPDI = pd1.ProductionDateID,
FinishingDate = pd1.WorkFlowDate,
ppatg.GroupName,
ppatg.PNTGroupID
});
在数据库中 GroupID 是一个可以为 null 的 int。 linq 查询返回没有过滤 where 子句的行,但当我包含 where 子句时没有返回。数据库中 GroupId 列有空值。
绝对是这个语句没有产生任何结果。网上所有关于该主题的文献都说这相当于
pd1.GroupID is null // in sql
我得到的结果与此相矛盾
Sql代码是
select pd1.ProductionDateID as FinishPDI, pd1.WorkflowDate as FinishingDate,GroupName ,PNTGroupId
from XXXXXXXXXXXX
inner join XXXXXXXXXXXX pd1 on
XXXXXXXXXXXX.ScheduleId = pd1.ScheduleID
where pd1.GroupID is null
【问题讨论】:
-
你的模型中的 GroupID 是可以为空的类型吗?
-
是的,在模型中 GroupID 是一个 int?
-
应该是int?组 ID。
-
可以显示sql代码吗?
-
@Backs 添加 sql 代码