我正在使用VS2017創建一個ASP.NET Web應用程序(不使用CORE),.NET Framework是4.6.2,實體框架.NET是6.1。 3。我在這裏看到了我的答案,但是我所嘗試或提到的所有內容都不適用於我。從實體框架.NET返回多個孫子孫子的父代
我有以下代碼現在獲取特定父的孩子孫子,我知道必須有獲得這些孫子的更有效的方式,但無法弄清楚如何:我
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();
}
有嘗試使用.ThenInclude
和Include("xxxx.xxxx.xxxx")
但是,.ThenInclude
甚至沒有提供給我和Include("xxxx.xxxx.xxxx")
只適用於一個孫子。 Include()
只允許我輸入字符串路徑,但我已經看到OP使用舊版EF的評論。
我被困在這,我可以開明,如果我在這裏失去了什麼?
我要試試這個,我會讓你知道它是如何工作的。 – mattgcon