停止传播删除

时间:2010-03-25 01:34:46

标签: entity-framework

只是我或其他人发现EF很难在真实应用中使用:(

我正在使用它作为数据层并创建了自定义业务对象。我将业务对象转换回EF对象以及从数据库更新/添加/删除时遇到困难。有没有人知道这样做的好例子?

实际上当前的问题让我感到疯狂的是当我删除了EF试图删除其他相关内容的东西时。例如,如果我删除发票,它也将删除关联的客户!看起来很奇怪。我无法弄清楚如何阻止它这样做。

// tried:
invoiceEfData.CustomerReference = null;

// also tried
invoiceEfData.Customer = null;

context.DeleteObject(invoiceEfData);
context.SaveChanges();

// at this point I get a database error due to it attempting to delete the customer

1 个答案:

答案 0 :(得分:0)

您确定您的数据库未设置为尝试进行级联删除吗?

要检查的另一件事是,在xml编辑器中破解打开.edmx文件,看看你是否有这样的一行与相关实体相关:

<OnDelete Action="Cascade"></OnDelete>