C# 实体框架核心-按值列表筛选

C# 实体框架核心-按值列表筛选,c#,entity-framework-core,C#,Entity Framework Core,我正在寻找一种基于EF Core中的过滤器列表,使用connected OR语句实现SQL查询的方法。在SQL中,它看起来就像: 选择* 从桌子上 其中(ColA='filterForA1'和ColB='filterForB1')或[…]或(ColA='filterForAx'和ColB='filterForBx') 因此,获取SQL查询并通过FromSqlRaw执行它的简单方法是: 字符串sqlFilter=”“; bool first=true; foreach(过滤器集中的var过滤器集

我正在寻找一种基于EF Core中的过滤器列表,使用connected OR语句实现SQL查询的方法。在SQL中,它看起来就像:

选择*
从桌子上
其中(ColA='filterForA1'和ColB='filterForB1')或[…]或(ColA='filterForAx'和ColB='filterForBx')
因此,获取SQL查询并通过
FromSqlRaw
执行它的简单方法是:

字符串sqlFilter=”“;
bool first=true;
foreach(过滤器集中的var过滤器集){
如果(!first){sqlFilter+=”或“}否则{first=false;}
sqlFilter+=$“(ColA='{filterSet.A}'和ColB='{filterSet.B}');
}
但是这会使代码容易被注入,所以我想知道是否有更好的解决方案来处理efcore中的过滤器列表


编辑:LINQ查询也是一个很好的解决方案。但我想不出怎么和LINQ一起做。因此,上面的SQL查询只是结果的示例。

为什么是SQL?为什么不使用LINQ?.Where(row=>listOfFilters.Contains(row.a))?或者使用循环。foreach(…){query=query.Where(…)}