C# Linq到具有多个where条件的实体

C# Linq到具有多个where条件的实体,c#,linq,linq-to-entities,C#,Linq,Linq To Entities,如何在LINQ to Entities的where子句中检查多个条件 如何检查该值是否为false或null .Where(p => (p.Disabled == false || p.Disabled = null)); 可以使用常用的布尔运算符组合条件 您的解决方案在条件的第二部分中缺少==: .Where(p => (p.Disabled == false || p.Disabled == null)); // Here --------

如何在LINQ to Entities的where子句中检查多个条件

如何检查该值是否为false或null

.Where(p => (p.Disabled == false || p.Disabled = null));

可以使用常用的布尔运算符组合条件

您的解决方案在条件的第二部分中缺少
==

.Where(p => (p.Disabled == false || p.Disabled == null));
//                    Here --------------------^
您可以进一步简化此操作,因为检查可为null的
bool
是否为
false
null
等同于检查它是否为
true

.Where(p => p.Disabled != true);

可以使用常用的布尔运算符组合条件

您的解决方案在条件的第二部分中缺少
==

.Where(p => (p.Disabled == false || p.Disabled == null));
//                    Here --------------------^
您可以进一步简化此操作,因为检查可为null的
bool
是否为
false
null
等同于检查它是否为
true

.Where(p => p.Disabled != true);

。其中(p=>(p.Disabled==null?false:p.Disabled==false);我为我的解决方案找到了一个变通方法,但你是对的。@JohnTurner C#有一个更好的运算符:
(p.Disabled??false)
(p.Disabled==null?false:p.Disabled)
。其中(p=>p.Disabled!=true);这不起作用,因为我猜编译器会将“!=true”转换为“false”,并且它不会返回空行。感谢DasLinkEnlight..Where(p=>(p.Disabled==null?false:p.Disabled)==false);我为我的解决方案找到了一个变通方法,但你是对的。@JohnTurner C#有一个更好的运算符:
(p.Disabled??false)
(p.Disabled==null?false:p.Disabled)
。其中(p=>p.Disabled!=true);这不起作用,因为我猜编译器会将“!=true”转换为“false”,并且它不会返回空行。谢谢dasblinkenlight。