请教个 Entity Framework 多对多 删除的问题 如何先删除关系
A 表中数据
AId Name
a1 a11111
a2 a22222
a3 a33333
B 表中数据
BId Name
b1 b1111
b2 b2222
AINB 表中数据
AID BID
a1 b1
a1 b2
a2 b1
a3 b2
using (Entities entity = new Entities())
{
A a1 = entity.SingleOrDefault(p => p.AId == "a1"); //找到a1 对象
entity.DeleteObject(a1); // 直接这样删除就会报错 那么 AINB 表中数据该怎么先删除???
entity.SaveChanges();
}
------解决方案--------------------先删除子表,再删除主表
http://www.cnblogs.com/sunnycoder/archive/2010/08/22/1805875.html
------解决方案--------------------using(Entities entity =new Entities())
{
A a=entity.A.SingleOrDefault(p=>p.AID="a1");
while(a.AInB.Count>0)
{
entity.AInB.Remove(a.AInB.First());
}
entity.A.Remove(a);
entity.SaveChanges();
}
试试看吧,应该是可以的,我做过一次!