假设我在实体Customer-Order之间存在一对多的关系。如果我删除了一个客户,我也想删除所有相关的订单。如果我在客户端尝试这个:
foreach (Order order in cusomter.Orders)
{
Context.Orders.Remove(order);
}
Context.Customers.Remove(customer);
Context.SubmitChanges();
它首先在服务器上调用Customer删除域操作,由于数据库中的关系约束而失败。如何让它首先删除订单?
答案 0 :(得分:4)
对数据库中父表和子表之间的关系启用级联删除。
http://rudesyle.wordpress.com/2008/01/28/cascading-deletes-in-sql-server/
答案 1 :(得分:1)
在删除客户之前提交更改,它将解决您的问题。
编辑:您必须提交两次更改。