Ich verwende VS2017, um eine ASP.NET-Webanwendung (ohne CORE) zu erstellen, .NET Framework ist 4.6.2 und das Entity Framework .NET ist 6.1. 3. Ich habe hier nach meiner Antwort gesucht, aber alles, was ich versucht oder erwähnt habe, steht mir nicht zur Verfügung.Mehrere Enkelkinder des Elternteils von Entity Framework .NET zurückgeben
Ich habe den folgenden Code Enkel von Kindern eines bestimmten Eltern jetzt zu erwerben, ich weiß, dass es eine effizientere Möglichkeit, diese Enkel des Erwerbs sein muss, kann aber nicht herausfinden, wie:
using (_ge = new generation_entities())
{
if (_id != null)
{
List<scheduleheader> _tlist = (from a in _ge.scheduleheaders.Include("scheduledetails") where a.programID == _id select a).ToList();
foreach (scheduleheader _t in _tlist)
{
foreach (scheduledetail _s in _t.scheduledetails)
{
_s.scheddtlcustoms = (from a in _ge.scheddtlcustoms where a.dtlID == _s.dtlID select a).ToList();
_s.scheddtlstandards = (from a in _ge.scheddtlstandards where a.dtlID == _s.dtlID select a).ToList();
_s.scheddtltalks = (from a in _ge.scheddtltalks where a.dtlID == _s.dtlID select a).ToList();
_s.scheddtlvenues = (from a in _ge.scheddtlvenues where a.dtlID == _s.dtlID select a).ToList();
_s.scheduledtlrecurrences = (from a in _ge.scheduledtlrecurrences where a.dtlID == _s.dtlID select a).ToList();
}
}
return _tlist;
}
else
return (from a in _ge.scheduleheaders where a.scheduledetails.Any(b => b.start > DateTime.Today.AddDays(-30)) && a.programID == null select a).ToList();
}
Ich habe versucht mit .ThenInclude
und Include("xxxx.xxxx.xxxx")
aber .ThenInclude
ist nicht einmal für mich verfügbar und die Include("xxxx.xxxx.xxxx")
funktioniert nur für ein Enkelkind. Die Include()
erlaubt mir nur, einen String-Pfad einzugeben, und ich habe Kommentare gesehen, dass das OP eine ältere Version von EF verwendet.
Ich stecke darauf, kann ich erleuchtet werden, wenn ich hier etwas verpasse?
Ich werde dies versuchen und ich werde Sie wissen lassen, wie es funktioniert. – mattgcon