0
閱讀多層次的數據我有三類:如何從EF核心語境
- 國家。
- 區。
- 省
的類別是:
public class Country
{
public Country()
{
Districts = new HashSet<District>();
}
public string Name { get; set; }
public virtual ICollection<District> Districts { get; private set; }
}
public class District
{
public District()
{
Provinces = new HashSet<Province>();
}
public string Name { get; set; }
public virtual ICollection<Province> Provinces { get; private set; }
}
public class Province
{
public string Name { get; set; }
}
起初,我想提一提,我使用MVVM與WPF。所以,在我的ViewModel,我有:
Countries = dbContext
.Countries
.Include(c => c.Districts)
.ThenInclude(p => p.Provinces)
.ToList();
然後,在我看來,我試着讀區和省名稱場。不幸的是,我無法成功。只是名稱字段在國家顯示。 然後我試圖使用調試模式來檢查國家我視圖模型,我可以看到整個數據是可用的。
所以,我在視圖模型添加該代碼只是爲了檢查:
string dd = "";
foreach (var country in Countries)
{
dd += country.Name + " ";
dd += country.Districts.Name + " ";
dd += country.Districts.Provinces.Name + " ";
dd += Environment.NewLine;
}
MessageBox.Show(dd);
我可以讀country.Name,但我無法讀取休息。甚至。我得到錯誤,他們沒有找到!
如何閱讀這些領域?
爲什麼你有'Ditrict'作爲類名?錯字? – abdul
@ abdul是的。 –
的問題是,'country.Districts'和'district.Provinces'是** **集合(即,不是一個單一的項目),所以沒有單一的財產'country.Districts.Name'或'country.Districts.Provinces .Name'。你想用'CountryName,DistrictName,ProvinceName'來表示一個列表嗎?或者更好,你能展示所需的輸出嗎? –