您可以使用手动联接模拟定义关系后EF的功能。您所需要的只是使用Group Join和投影。像这样的东西:
var result = (from a in db.A where a.Id == IDParameter join b in db.B on a.Id equals b.AId into Bs select new { a, Bs = (from b in Bs join c in db.C on b.Id equals c.BId into Cs select new { b, Cs = (from c in Cs join d in db.D on c.Id equals d.CId into Ds select new { c, Ds = Ds.ToList() }).ToList() }).ToList() }).ToList();


