간단한 엔트리가 있는데, 상위 엔티티를 기반으로 2 차 하위 엔티티를 가져 오려고합니다.EF 코어 : 2 단계 아래로 만 관련 날짜를 반환하십시오.
예
public class Country {
public string Name {get;set;}
public List<State> States {get;set;}
}
public class State {
public string Name {get;set;}
public Country Country {get;set;}
public List<City> Cities {get;set;}
}
public class City {
public string Name {get;set;}
public State State {get;set;}
}
어떻게 Country.Name와 부모 == "일본"이 (본질적으로 다른 모든 정보를 무시) 만 도시를 검색 할 수 있습니까?
나는 ThenInclude 알고 :
dbContext.Countries
.Include(o => o.States}
.ThenInclude(x => x.Cities)
.Where(o => o.Name.Equals("Japan"))
.ToList();
그런 다음 내가 각 도시의 목록을 extact와 (내가 생각하지 않는 우아한 방법입니다)에만 목록이 포함 된 새로운리스트에 결합해야합니다.
이 사용 사례의 경우 도시 수가 상당히 유한합니다. 나는 이것을 어쨌든 두 개의 테이블로 평평하게 할 것이다. Countries 테이블은 195 개의 레코드로 구성됩니다. 100,000 명이 넘는 주민들 (일반적으로 사용하기에 꽤 괜찮음)이있는 도시에 머물렀다면 SQL이 매우 쉽게 처리 할 수있는이 테이블에 대해 최대 5000 개의 레코드가됩니다. –