두 번째 수준에 여러 참조 포함

asp.net-core-mvc entity-framework-core

문제

이 모델이 있다고 가정 해보십시오.

public class Tiers
{
    public List<Contact> Contacts { get; set; }
}

public class Tiers
{
    public List<Contact> Contacts { get; set; }
}

EF7을 사용하면 Contact 테이블의 데이터, Titre 테이블의 TypeContact 테이블 등 모든 단일 데이터를 사용하여 Tiers 테이블에서 모든 데이터를 검색하고 싶습니다. Include / ThenInclude API를 사용하면 다음과 같이 작성할 수 있습니다.

public class Tiers
{
    public List<Contact> Contacts { get; set; }
}

그러나 Titre 속성 후에는 TypeContact, Langue, Fonction과 같은 참조를 포함 할 수 없습니다. 포함하는 메서드는 Tier 개체를 제안하고 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.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.