C# Asp.net核心实体框架Linq,其中查询测试两个布尔值是否相等
简单的问题,但似乎找不到我想要的答案 我在EF查询中检查where子句中的两个布尔时出错 我有这个:C# Asp.net核心实体框架Linq,其中查询测试两个布尔值是否相等,c#,entity-framework,linq,entity-framework-core,linq-to-entities,C#,Entity Framework,Linq,Entity Framework Core,Linq To Entities,简单的问题,但似乎找不到我想要的答案 我在EF查询中检查where子句中的两个布尔时出错 我有这个: filteredClients.Where(c => c.Company == Convert.ToBoolean(keyValuePair.Value)); Company是一个可为空的bool,其中作为DB中的实体,“Company”是一个bool 但是,检查结果时,未正确处理该结果 我已经设置了KeyValuePair.Value,它是一个字符串“True”,然后将其转换为bool
filteredClients.Where(c => c.Company == Convert.ToBoolean(keyValuePair.Value));
Company是一个可为空的bool,其中作为DB中的实体,“Company”是一个bool
但是,检查结果时,未正确处理该结果
我已经设置了KeyValuePair.Value,它是一个字符串“True”,然后将其转换为bool
这是表中的内容:
在执行查询之后,我仍然会得到所有记录,而不仅仅是4条
如何编写where子句,以便只为“Company”列选择设置了“true”的记录
据我所知,您似乎没有因为Where操作而设置FilteredClient引用: 它应该看起来更像:
filteredClients = filteredClients.Where(c => c.Company == Convert.ToBooolean(keValuePair.Value));
如果您得到关于IQueryable不匹配IEnumerable或类似内容的强制转换错误,请确保FilteredClient的初始/早期设置没有过早地使用.ToList()
执行