Die DELETE-Anweisung in Konflikt mit der REFERENCE-Einschränkung in ASP.NET Dynamische Daten
Ich habe zwei Tabellen Application_User und Application_User_Access. Application_User_Access Tabelle mit einer foreign key-Einschränkung mit Application_User Tabelle.
Wenn ich einen Datensatz löschen in Application_User Tabelle, erhalte ich "Die DELETE-Anweisung in Konflikt mit der REFERENCE-Einschränkung" Ausnahme.
Dies geschieht in ASP.NET Dynamic Data Entities Web-Anwendung. Will ich löschen, werden alle untergeordneten Datensätze in diesem Fall und schließlich löschen Sie den übergeordneten Datensatz. Wie implementieren Sie diese?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie implementieren eine kaskadierende löschen für
Application_User_Access
Tabelle. Für diese müssen Sie zum ändern der DB-schema ein wenig. Konkret entfernen Sie die alte Referenz von derApplication_User_Access
zu denApplication_User
Tabelle und eine neue hinzufügen:Beachten Sie, dass
ON DELETE CASCADE
Sache. Es bedeutet, dass, wenn der Primärschlüssel-Datensatz gelöscht wird die foreign key Datensatz referenzieren, werden entfernt, wie gut.Application_User_Access
Datensätze nicht sinnvoll ohneApplication_User
. Dies ist nicht eine business-Regel, es ist eine Frage, die DB-Integrität. Deshalb würde ich sagen, dass die änderung, die Einschränkung, indem die Löschweitergabe ist ein wenig besser hier. Aber nachdem alles, was Sie sollte gehen mit dem Ansatz, den Sie am angenehmsten empfinden.