一对多关系中从表的数据如何删除和更新。
一对多关系中从表的数据如何删除和更新。
主表如下:
public class A
{
public int ID{get;set;}
// 从表导航属性
public virtual List<B> bs{get;set;}
}
从表:
public class B
{
public int ID{get;set;}
// A表外键
public int Aid{get;set;}
// A表导航属性
public virtual A a{get;set;}
}
Map已经设置好了对照关系。
但是插入A表和B表的数据时是没有问题的,都能正确插入。但是,我想把B表的数据进行更新,有的数据会被删除,有的不变,还会增加新的数据进去。
应该怎么办呢?
我把EF封装到了数据层,不能在其他层使用ef的代码。我每次更新从表数据时都是重新new一次,也就是a.Bs = new List<B>();但是这样更新的话,新的数据会被EF当作新记录插入到从表,原有的记录还在,怎样删除原有的记录呢?