Asp.net-Core-Mvc
在第二級包括幾個參考
假設我們有這個模型:
public class Tiers { public List<Contact> Contacts { get; set; } }和
public class Contact { public int Id { get; set; } public Tiers Tiers { get; set; } public Titre Titre { get; set; } public TypeContact TypeContact { get; set; } public Langue Langue { get; set; } public Fonction Fonction { get; set; } public Service Service { get; set; } public StatutMail StatutMail { get; set; } }使用 EF7,我想用一條指令從 Tiers 表中檢索所有數據,從 Contact 表、Titre 表、TypeContact 表等中檢索所有數據。使用 Include/ThenInclude API,我可以編寫如下內容:
_dbSet .Include(tiers => tiers.Contacts) .ThenInclude(contact => contact.Titre) .ToList();但是在 Titre 屬性之後,我不能包含其他引用,例如 TypeContact、Langue、Fonction … Include 方法建議使用 Tiers 對象,然後 ThenInclude 建議使用 Titre 對象,而不是 Contact 對象。如何包含我的聯繫人列表中的所有引用?我們可以通過一條指令實現這一目標嗎?
.ThenInclude()將連結最後一個.ThenInclude()或最後一個.Include()(以較新的為準)以拉入多個級別。要在同一級別包含多個同級,只需使用另一個.Include()鏈。正確格式化程式碼可以大大提高可讀性。_dbSet .Include(tiers => tiers.Contacts).ThenInclude(contact => contact.Titre) .Include(tiers => tiers.Contacts).ThenInclude(contact => contact.TypeContact) .Include(tiers => tiers.Contacts).ThenInclude(contact => contact.Langue); // etc.