[英]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操作的结果,您似乎没有在设置filteredClients引用:
它看起来应该更像:
filteredClients = filteredClients.Where(c => c.Company == Convert.ToBooolean(keValuePair.Value));
如果您收到有关IQueryable与IEnumerable不匹配等的强制转换错误,请确保您的.ToList()
初始/较早设置未使用.ToList()
过早执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.