Entity framework 4 如何删除一对一关系中的实体?
我的数据库中有两个表是一对一的关系,关系很弱 视频(IDVideo、IDType、年份等) 系列(IDSerie、IDVideo等) 当我尝试更改视频类型时,如果新类型不是系列,我希望删除系列表中属于此视频的行。因此,我遵循以下步骤:Entity framework 4 如何删除一对一关系中的实体?,entity-framework-4,Entity Framework 4,我的数据库中有两个表是一对一的关系,关系很弱 视频(IDVideo、IDType、年份等) 系列(IDSerie、IDVideo等) 当我尝试更改视频类型时,如果新类型不是系列,我希望删除系列表中属于此视频的行。因此,我遵循以下步骤: Videos myVideoDB = myContext.Videos.Include("Series").Where(v=>v.IDVideo == paramVideo.IDVideo).FirstOrDefault<Videos>();
Videos myVideoDB = myContext.Videos.Include("Series").Where(v=>v.IDVideo == paramVideo.IDVideo).FirstOrDefault<Videos>();
myContext.Series.Remove(myVideoDB.Series.ElementAt(0));
为什么??我认为当我删除序列时,DbContext知道它必须从视频集合中删除实体。否则,我尝试先从视频集合中删除实体,然后删除序列,但问题没有解决
谢谢。好的,解决方案是我需要在DBContext中从本地删除实体系列:
long idSerie = miVideoDB.Series.ElementAt(0).IDSerie;
myVideoDB.Series.Clear();
miContexto.Series.Local.Remove(miContexto.Series.Local.FirstOrDefault<Series>(s => s.IDSerie == idSerie));
long idSerie=miVideoDB.Series.ElementAt(0.idSerie);
myVideoDB.Series.Clear();
micontextro.Series.Local.Remove(micontextro.Series.Local.FirstOrDefault(s=>s.IDSerie==IDSerie));
我需要的是首先获取序列号,然后清除视频中的序列集,最后从本地删除序列号
long idSerie = miVideoDB.Series.ElementAt(0).IDSerie;
myVideoDB.Series.Clear();
miContexto.Series.Local.Remove(miContexto.Series.Local.FirstOrDefault<Series>(s => s.IDSerie == idSerie));