Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LinqKit和筛选子查询_Linq_Subquery_Expandable_Linqkit - Fatal编程技术网

LinqKit和筛选子查询

LinqKit和筛选子查询,linq,subquery,expandable,linqkit,Linq,Subquery,Expandable,Linqkit,我有一个一对多关系(EF),我想写一个查询来过滤一个关系和多个关系 例如:公司有很多员工 编写一个查询,过滤Company.Name=“ZonSoft”和Company.Employees的位置 至少一名名名为“Hesius”的员工 这很好,但是如果在编译时不知道过滤器呢? 用户可以从许多过滤器中选择(姓名、年龄等),我不想写太多 代码 我正在试验Expression和linqkit 但是我不能让过滤器在员工关系上工作 " 如何在一个查询中组合这两个过滤器? 或者如何获得期望的结果 这项工作:

我有一个一对多关系(EF),我想写一个查询来过滤一个关系和多个关系

例如:公司有很多员工

编写一个查询,过滤Company.Name=“ZonSoft”和Company.Employees的位置 至少一名名名为“Hesius”的员工

这很好,但是如果在编译时不知道过滤器呢? 用户可以从许多过滤器中选择(姓名、年龄等),我不想写太多 代码

我正在试验Expression和linqkit 但是我不能让过滤器在员工关系上工作

"

如何在一个查询中组合这两个过滤器? 或者如何获得期望的结果

这项工作: "

我在找这样的东西:

From comp in data.Companies.Include("Employees")
.Where(exp1 AndAlso comp.Employees.Any(exp2))
Select cc
exp1 as Expression(Of Func(Of Company, Boolean) = Function(comp) comp.Name = "Zonsoft"
exp2 as Expression(Of Func(Of Employee, Boolean) = Function(emp) emp.Name = "Hesius"
From comp in data.Companies.Include("Employees")
.Where(exp1)
Select comp.
From comp in data.Companies.Include("Employees")
.Where(exp1 AndAlso comp.Employees.Any(exp2))
Select cc