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
Linq 如何返回具有相关实体属性条件的实体?_Linq - Fatal编程技术网

Linq 如何返回具有相关实体属性条件的实体?

Linq 如何返回具有相关实体属性条件的实体?,linq,Linq,在下面的代码中,第一个LINQ语句捕获我所有的活动客户(c)并包括他们的访问。后续行执行附加筛选,但与此问题无关 在最后一行中,我试图将客户限制为那些正在访问的客户。Id等于parsedVisitId,但这一行根本无法运行。我连汇编的东西都放不起来parsedVisitId是从字符串解析的int 如何重写最后一行以仅返回访问id等于parsedVisitId的客户 var customers= this.db.Customers.Where(c => c.IsActive).Include

在下面的代码中,第一个LINQ语句捕获我所有的活动客户(c)并包括他们的访问。后续行执行附加筛选,但与此问题无关

在最后一行中,我试图将客户限制为那些正在访问的客户。Id等于
parsedVisitId
,但这一行根本无法运行。我连汇编的东西都放不起来
parsedVisitId
是从字符串解析的int

如何重写最后一行以仅返回访问id等于parsedVisitId的客户

var customers= this.db.Customers.Where(c => c.IsActive).Include(c => c.Visits).AsQueryable();
//
// more filtering stuff happens here...
//
customers= customers.Where(p => p.Visits.Where( v => v.Id == parsedVisitId));
在访问时使用Any而不是Where。我希望上面的代码行会有所帮助

在代码中

客户=客户。其中(p=>p.visions.Where(v=>v.Id== parsedVisitId)

其中(…)方法需要一个lambda表达式,该表达式的参数类型为Customer和ReturnType bool,而不是lambda表达式

p、 其中(v=>v.Id==parsedVisitId)

返回类型

IEnumerable<Visit>
IEnumerable

因此它不起作用。我想知道它是如何编译的。

在客户中包括访问是否正确?
IEnumerable<Visit>