私は、親エンティティに基づいて第2レベルの子エンティティを取得しようとしています。EFコア:関連する日付が2レベル下に戻る
例Country.Nameを持つ親==「日本」を持っている私は(基本的に他のすべての情報を無視して)のみの都市を取得するにはどうすればよい
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;}
}
?
私はThenIncludeの知っている:
dbContext.Countries
.Include(o => o.States}
.ThenInclude(x => x.Cities)
.Where(o => o.Name.Equals("Japan"))
.ToList();
それから私は、各都市のリストをextactと(私はエレガントな方法だとは思わないもの)のみのリストが含まれている新しいリストにそれを組み合わせる必要があります。
このケースでは、都市の数はかなり有限の数です。とにかくこれを2つのテーブルに平らにします。 Countriesテーブルは、195レコードと非常に小さくなります。あなたが100万人以上の住民(一般的な目的にはかなり良い都市)にぶつかると、そのテーブルのためにSQLが非常に簡単に処理できる5000レコードになります。 –