這個問題在這里已經有了答案: EFCore Linq ThenInclude 兩個外鍵到同一個表 (1 個答案) 8 小時前關閉。
我有這個類和一個背景關系類:
public class Parent
{
public int Id { get; set; }
public virtual ICollection<Child> Children { get; set; }
}
public class Child
{
public int Id { get; set; }
public int ParentId { get; set; }
public int ForeignId { get; set; }
[ForeignKey("ParentId")]
public virtual Parent Parent{ get; set; }
[ForeignKey("ForeignId")]
public virtual Foreign Foreign{ get; set; }
public virtual ICollection<GrandChild> GrandChildren { get; set; }
}
public class GrandChild
{
public int Id { get; set; }
public int ChildId { get; set; }
[ForeignKey("ChildId")]
public virtual Child Child{ get; set; }
}
public class Foreign
{
public int Id { get; set; }
public string name { get; set; }
public virtual ICollection<Child> Children { get; set; }
}
我想顯示一份父母名單,包括他們的子女和孫子女。我也想包括外國表。因為我需要它的領域。我寫了這段代碼:
var list = context.Parents.Include(p => p.Children).ThenInclude(p => p.GrandChildren).Tolist();
如何向該查詢添加或包含外部表?
我寫了下面的代碼,但它有錯誤:
var list = context.Parents
.Include(p => p.Children)
.ThenInclude(p => p.GrandChildren)
.Include(p => p.Children.FirstOrDefault().Foreign).Tolist();
uj5u.com熱心網友回復:
您需要添加 2 個包括:
var list = context.Parents
.Include(p => p.Children)
.ThenInclude(c => c.GrandChildren)
.Include(p => p.Children)
.ThenInclude(c => c.Foreign).ToList();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/536505.html
