我以这样一种方式构建了一个集合集,即“子项”(possible_child)集合中的每个对象至少应具有一个父集合,而父集合(possible_parent)应至少具有一个父集合。我想检测那些没有父对象的孩子。例如,如果我找到一个具有给定国家/地区的孩子,则年份,季节和季节类型不包含至少一个具有相同数据的父记录。
我写了下面的查询,我现在看到是错误的。
var childrenMissingParents = (from cl in possible_child
join pr in possible_parent on new
{
p1=cl.Country,
p2=cl.Year,
p3=cl.Season,
p4=cl.SeasonType
}
equals
new
{
p1=pr.Country,
p2=pr.Year,
p3=pr.Season,
p4=pr.SeasonType
}
into opr from spr in opr.DefaultIfEmpty()
where spr == null select cr).ToList();
有人可以提出一个更好的主意吗?
var childrenMissingParents = possible_child.Where(
c => !possible_parent.Any(
p => p.Country == c.Country
&& p.Year == c.Year
&& p.Season == c.Season
&& p.SeasonType == c.SeasonType));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句