Entity Framework中一对多关系关联id报错
Entity Framework总是有那么一些令人无语的内置设定
比如就遇到这么一个情况,building下有多个level
则ef就会默认他们是一对多的情况,于是在对level进行增删改查时,就会找level中是否有building这个属性
这时候如果你的level中没有Building则会报以下错误
他告诉你,你的level中没有找到'BuildingDTO_Id' 属性
//
第一个解决方案是将BuildingId 改成 BuildingDTOId;
//
第二个解决方案是如下
注意红框内的名称一定要一模一样!!!!!!
//
其实第三个解决方案是,把属性变成字段即可,ef不会根据字段判断 对象和对象之间的关系的
private ObservableCollection<LevelDTO> levelDTOs = new ObservableCollection<LevelDTO>();
public ObservableCollection<LevelDTO> LevelDTOs
{
get { return levelDTOs; }
set
{
levelDTOs = value;
OnPropertyChanged();
}
}
==== 变成 ===》
public ObservableCollection<LevelDTO> LevelDTOs;