LINQ倍数和/或条件

时间:2013-07-18 14:05:17

标签: c# linq

我的多个AND / OR LINQ查询有问题

当前错误为"&& cannot be applied to bool and datetime"

有更好的方法吗? 我想我可能需要检查其中一些的空值

由于

(d.Development != 1 && d.Deleted != 1 && d.Stock != 1) && (d.DecommissionDate = Convert.ToDateTime("1900-01-01")) 

2 个答案:

答案 0 :(得分:7)

第二部分不会转换为布尔值:

(d.DecommissionDate = Convert.ToDateTime("1900-01-01"))

=是一个赋值运算符。完成后,它会尝试将布尔值与DateTime进行比较。如果您的目的是比较DecommissionDate,请改用==。如果你真的想要分配它,你需要在不同的场合进行。

答案 1 :(得分:2)

你有一个小错字:你使用单个等号(=,用于赋值)而不是双等号(==,相等)。

以下是修复:

d.DecommissionDate == Convert.ToDateTime("1900-01-01")