我有一个简单的设置,我试图获得基于父实体的第二级子实体。
实施例
public class Country {
public string Name {get;set;}
public List<State> States {get;set;}
}
public class State {
public string Name {get;set;}
public Country Country {get;set;}
public List<City> Cities {get;set;}
}
public class City {
public string Name {get;set;}
public State State {get;set;}
}
如何仅检索具有Country.Name ==“Japan”父级的城市(基本上忽略所有其他信息)?
我知道ThenInclude:
dbContext.Countries
.Include(o => o.States}
.ThenInclude(x => x.Cities)
.Where(o => o.Name.Equals("Japan"))
.ToList();
然后我必须取消每个城市列表并将其组合到仅包含列表的新列表中(我认为这不是优雅的方式)。
答案 0 :(得分:0)
发现最简单的方法是从反面看它。
array_search
这将仅返回具有名称为Japan的祖父母的城市列表。