让我们说我有这样的数据库表:
Continent -> Countries -> Cities
-> Lakes
现在我想要加入它们
_db.Continents
.Include(p => p.Countries)
.ThenInclude(c => c.Cities)
.Include(p => p.Countries)
.ThenInclude(p => p.Lakes)
这是唯一的方式(通过包括国家两次)还是有其他方式?
答案 0 :(得分:3)
从EF Core 2.1开始,实际上支持这一点。模式看起来像这样:
_db.Continents.Include(p => p.Countries).ThenInclude(c => c.Cities).ThenInclude((Country p) => p.Lakes)
答案 1 :(得分:-2)
如前所述EF仅包括国家一次。
为了更好的阅读,你可以这样写:
_db.Continents
.Include(p => p.Countries.Select(s => s.Cities))
.ThenInclude(p => p.Countries.Select(s => s.Lakes))