2012-11-22 71 views
4

我在我的模型如何在实体框架中级联删除?

汽车和carPart

与1两个对象:N的关系。

我想删除级联实体车。 当我删除我得到以下异常:

The operation failed: The relationship could not be changed because one or 
more of the foreign-key properties is non-nullable. When a change is made 
to a relationship, the related foreign-key property is set to a null value. 
If the foreign-key does not support null values, a new relationship must 
be defined, the foreign-key property must be assigned another non-null value, 
or the unrelated object must be deleted. 

我认为它会尝试先删除该汽车对象中的汽车零部件。
由于外键,这是不可能的。

我该如何处理?
我想要的,显然是先删除carPart,然后再删除车。
谢谢。

回答

6

你需要告诉数据库,你想级联删除,然后实体框架将做你的期望。如果你去Relationships屏幕在SQL Server Management Studio中的一个表,你可以改变FK行为:

Cascade delete in Sql Server Management Studio

+0

感谢这个答案! –

1

如果您想级联删除,然后在数据库级别设置级联删除。您收到错误,因为SQL不允许删除。

你不必在实体框架中做到这一点。