The following error may be reported when Codefirst involves cascading deletions:
Table ' TableName ' may cause cycles or multiple cascade paths. Specify on the DELETE no action or on the UPDATE no action, or modify other FOREIGN KEY constraints.
This is because the same foreign-key table is used in the same table, and Codefirst automatically creates a cascade delete constraint for them.
You can set the no cascade delete constraint in the Onmodelcreating method at this point (I need to manually implement cascade deletions in real-world development):
protected override void Onmodelcreating (Dbmodelbuilder modelBuilder) { modelbuilder.entity<appointment > (). hasrequired (A = a.sponsor). Withmany (U = u.spoappointments). Willcascadeondelete (false); Modelbuilder.entity<appointment> (). hasrequired (A = a.recipient). Withmany (U = u.recappointments). Willcascadeondelete (FALSE); }
Reference Link: http://www.cnblogs.com/Gyoung/archive/2013/01/22/2871919.html
Codefirst cascading Delete Issues