LINQ查询使用AND和OR查询错误结果

本文关键字:查询 OR 错误 结果 AND LINQ | 更新日期: 2023-09-27 17:51:02

我有一个linq查询,这是在错误的结果拉。我的猜测是,它这样做是因为我缺少一个括号或其他东西。

var CurrentlyActiveIncidents = from b in db.Logs 
    join dc in db.Incidents 
    on b.LogID equals dc.LogID 
    where b.DateTimeResolved == null && 
        (dc.AssignedTechnician != null  || 
        dc.AssignedTechnician != CurrentUser)

我想要datetimeresolved == null和指定的技术人员不为空或未分配给当前用户的所有事件。目前查询忽略了!= currentuser部分,我不知道为什么?

LINQ查询使用AND和OR查询错误结果

因为您需要所有已分配技术员!= null和!=当前用户的记录所以你需要有And Condition

var CurrentlyActiveIncidents = from b in db.Logs 
join dc in db.Incidents 
on b.LogID equals dc.LogID 
where b.DateTimeResolved == null && 
    (dc.AssignedTechnician != null  && 
    dc.AssignedTechnician != CurrentUser)

这将给你所需的记录