我正在尝试从ef查询中获取特定数据,但是我的三元运算符出现了问题
PlumbingSuperintendent = prj.JobInformation.Subdivision.AORs
.Where(x =>
x.AOR_Contact_Type_ID == "SI" && x.Service_Type == "PLUMBING" && x.Effective_End_Date != null
? (x.Effective_End_Date > DateTime.Now)
: !x.Effective_End_Date.HasValue && x.IsPrimary
)
.Select(x => x.Employee.Employee_FName + " " + x.Employee.Employee_LName).FirstOrDefault(),
如果有效结束日期不为空,我想怎么做,请给我记录有效结束日期大于今天的记录。如果不是,请提供有效结束日期为空的记录。由于某些原因,这不起作用
答案 0 :(得分:3)
您可以使用null coalescing operator创建此条件。
(x.Effective_End_Date ?? DateTime.Now) >= DateTime.Now
您可能需要将DateTime.Now
分配给变量,因为两次使用它可能没有完全相同的值。