1

根据级联删除,我写下面的代码但出现错误: 更新条目时发生错误。详情请参阅内部例外。在实体框架中级联删除的问题

using (doctorEntities de = new doctorEntities()) 
      { 
       var delete_base_print = (from Table_infobase_print tip in de.Table_infobase_print 
             where tip.ID == ((Doctor.Table_infobase_print)(datagrid_table_infobase_print.SelectedItem)).ID 
             select tip).First(); 
       de.DeleteObject(delete_base_print); 
       de.SaveChanges(); 
      } 

<Association Name="FK_Table_infodetail_print_Table_infobase_print"> 
     <End Role="Table_infobase_print" Type="doctorModel.Table_infobase_print" Multiplicity="1"> 
     <OnDelete Action="Cascade" /> 
     </End> 
     <End Role="Table_infodetail_print" Type="doctorModel.Table_infodetail_print" Multiplicity="*" > 
     </End> 
     <ReferentialConstraint> 
     <Principal Role="Table_infobase_print"> 
      <PropertyRef Name="ID" /> 
     </Principal> 
     <Dependent Role="Table_infodetail_print"> 
      <PropertyRef Name="ID_infobase" /> 
     </Dependent> 
     </ReferentialConstraint> 
    </Association> 
+0

请粘贴异常的内部异常的详细信息,否则可以是任何东西。 – BrokenGlass

+0

可能的重复:http://stackoverflow.com/questions/5466716/how-can-i-delete-all-records-associated-with-a-user/5466778#5466778 –

回答

2
<OnDelete Action="Cascade" /> 

这仅覆盖了你的对象上下文加载的实体(这将级联删除相关实体),而不是数据库本身。确保已经在数据库上设置了相应表的级联删除约束

编辑:

设置级联删除SQL Server中,设置级联的外键关系的删除规则。为了打开SQL Server Management Studio,打开有问题的表进行设计并显示外键关系。设置级联作为删除规则在插入和更新规范

enter image description here