我有三个班级:
省
public class Country
{
public Country()
{
Districts = new HashSet<District>();
}
public string Name { get; set; }
public virtual ICollection<District> Districts { get; private set; }
}
public class Ditrict
{
public Ditrict()
{
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; }
}
我需要完成的是如何包含所有省,区(即使没有省),国家/地区(即使没有区)在使用Ling的一个命令中。
原因是我将使用DevExpress Grid,因此用户可以看到国家/地区并添加新的区域,并且可以看到区并添加新的省。
我的所有尝试都失败了,因为我得到的是国家 Disctrict 和区 省
是的,我正在使用:[解决]
经过多次尝试和搜索,我发现我需要将 .ThenInclude 用于第三级省份。像:
Countries = dbContext
.Countries
.Include(c => c.Districts)
.ThenInclude(p => p.Provinces)
.ToList();
答案 0 :(得分:1)
如果你能把你尝试过的东西发给我们,那就太好了。粗略地说,您可以使用Country
来加载依赖于加载的实体和集合。如果您从District
开始查询实体链,它将检索所有国家/地区,即使他们没有using (var dbContext = new YourDbContext())
{
return dbContext.Countries
.Include(c => c.Districts.Select(d => d.Provinces))
.ToList();
}
s:
Province
我猜你只检查国家/地区的原因是因为你的查询是从链的另一端(Country
)开始的,而不是从上面的protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_earthbound);
int charNo = (Integer)getIntent().getExtras().get(EXTRA_CHARNO);
Earthbound character = Earthbound.chars[charNo];
ImageView photo = (ImageView) findViewById(R.id.photo);
photo.setImageResource(character.getImageResourceId());
photo.setContentDescription(character.getName());
TextView name = (TextView) findViewById(R.id.name);
name.setText(character.getName());
TextView desc = (TextView) findViewById(R.id.desc);
desc.setText(character.getDesc());
Button voice_btn = (Button)this.findViewById(R.id.voice_btn);
voice_btn.setContentDescription(character.getName());
final MediaPlayer mp = MediaPlayer.create(this, R.raw.snd_se_narration_characall_Ness);
final MediaPlayer mmp = MediaPlayer.create(this, R.raw.snd_se_narration_characall_Lucas);
voice_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
mp.start();
mmp.start();
}
});
开始。< / p>