0
下一个实体的定义出发:LINQ的相关子查询
Public Class Certificate{
public ID as int;
}
Public Class Authority{
ID int;
Certificates IEnumerable<Certificate>;
}
我的功能收到
2个集:IEnumerable<Certificate>
和IEnumerable<Authority>
。我需要选择Authorities
,其中Certificates collection
在IEnumerable<Certificate>
输入参数中至少有一个证书。
我最初的实现是枚举IEnumerable<Certificate>
并使用Where(predicate)
选择Authority
。
Public IEnumerable<Authority> SelectAuthorities(authList IEnumerable<Authority>, certList IEnumerable<Certificate>){
foreach (Certificate loadedCert in certList) {
yield return auth.Where(a => a.Certificados.Any(c1 => c1.IDCert == loadedCert.IDCert));
}
}
我认为必须有使用更复杂的LINQ相关子查询(我觉得它在“力”),以避免for循环的方式,但我不能找到它。
任何人都可以帮忙吗?
运行完美。谢谢。这很简单。我想我是在程序员的块里。 :) – jlvaquero 2013-05-13 08:48:49