繁体   English   中英

Asp.net核心实体框架Linq,其中查询测试两个布尔是否相等

[英]Asp.net Core Entity Framework Linq where query testing if two bools are equal

简单的问题,但似乎找不到我要的答案。

我在EF查询的where子句中检查两个布尔值时遇到错误。

我有这个:

filteredClients.Where(c => c.Company == Convert.ToBoolean(keyValuePair.Value));

clientFilters.Company是可为null的布尔值,其中作为数据库中的Entity,“ Company”是布尔值。

但是,检查结果未正确处理。

我已经将KeyValuePair.Value设置为字符串“ True”,然后将其转换为bool。

这是表中的内容:

数据库中的“公司”列

在执行查询后,我仍然得到所有记录,而不仅仅是4。

如何编写此where子句,以便仅选择为“公司”列设置为“真”的记录?

运行“ where”子句后,仍然存在具有“ False”的条目

据我了解,由于Where操作的结果,您似乎没有在设置filteredClients引用:

它看起来应该更像:

filteredClients = filteredClients.Where(c => c.Company == Convert.ToBooolean(keValuePair.Value));

如果您收到有关IQueryable与IEnumerable不匹配等的强制转换错误,请确保您的.ToList()初始/较早设置未使用.ToList()过早执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM