我正在尝试使用IQueryable类型列表过滤掉查询的结果集。该字符串似乎在这里不能正常工作。但是,如果我将IQueryable List转换为IEnumerable,然后似乎对结果进行过滤,那似乎可行。有人可以建议吗?
下面是代码示例,其中q是可查询类型。
q = q.Where(x => x.Tags.Contains(request.Query) || x.ProductName.Contains(request.Query) || x.CAsnumber.Contains(request.Query));
下面的表达式通过了上面的验证,这是不应该的。
"67762-90-79".Contains("77-90-7") || "xxxx 67762-90-79 xxxxx".Contains("77-90-7") || "xxxxx-2-120".Contains("77-90-7")
但是,当我将其转换为IEnumerable时,它可以正常工作,并且上面的表达式失败。
q = q.AsEnumerable().Where(x => x.Tags.Contains(request.Query) || x.ProductName.Contains(request.Query) || x.CAsnumber.Contains(request.Query)).AsQueryable();
但是,上面的转换会影响性能,我们只能使用IQueryable过滤。请告知。