0

我的多个 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")) 
4

2 回答 2

7

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

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

=是赋值运算符。完成后,它将尝试将 boolean 与 a 进行比较DateTime。如果您的意图是比较DecommissionDate,请==改用。如果您真的想分配它,您需要在单独的场合进行。

于 2013-07-18T14:07:20.013 回答
2

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

这是修复:

d.DecommissionDate == Convert.ToDateTime("1900-01-01") 
于 2013-07-18T14:06:20.150 回答