使用IQueryable类型时结果集过滤器问题

我正在尝试使用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过滤。请告知。

CARBONARI001 回答:使用IQueryable类型时结果集过滤器问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3162263.html

大家都在问