我在两个类之间有一个1-many关系:
父母:
public class Parent
{
public string Id { get; set; }
public virtual IList<Child> Children{ get; set;
}
孩子:
public class Child
{
public string Key { get; set; }
public string Value { get; set; }
public virtual Parent Parent { get; set; }
}
我需要根据列表子类实例过滤父类实例。标准是选择所有子代列表包含参考列表中所有条目的父代。我有以下代码:
IQueryable<Parent> parentsWithChildrenData = GetParentsWithChildren();
// Filter:
var referenceList = new List<Children>() { // Definition here };
parentsWithChildrenData
.Where(x => referenceList.All(o => x.Children.Contains(o, new ChildrenComparer()))).ToList();
此查询正确无误,但花费的时间过长。我怎样才能使其更快地工作?