Fremdschlüsselabhängigkeitsproblem: Änderung der Spalte „Rating“ von int in double
Dieses Problem tritt auf, wenn eine EF-Datenbanktabelle eine Spalte ( z. B. „Rating“), das ein int ist und durch einen Fremdschlüssel in einer anderen Tabelle referenziert wird. Das Ändern des Datentyps „Bewertung“ von int in double kann einen Fehler auslösen:
The object 'DF__*'' is dependent on column '*''. ALTER TABLE ALTER COLUMN * failed because one or more objects access this column.
Ursache:
Wenn die Spalte „Bewertung“ ursprünglich als definiert wurde int hat das DBMS (z. B. SQL Server) automatisch eine Fremdschlüsseleinschränkung erstellt, die darauf verweist. Diese Einschränkung erzwingt die Integrität der Datenbank, indem sie sicherstellt, dass jeder Wert in der Spalte „Bewertung“ einer gültigen Zeile in der referenzierten Tabelle entspricht.
Lösung:
An Ändern Sie „Rating“ erfolgreich von int in double. Zuerst muss die Fremdschlüsseleinschränkung entfernt werden.
Identifizieren die Einschränkung:
Erweitern Sie im Objekt-Explorer die Tabellenattribute und navigieren Sie zur Kategorie Einschränkungen. Suchen Sie die Einschränkung, die mit der Spalte „Bewertung“ verknüpft ist, z. B. „DF_Movies_Rating__48CFD27E“.
Entfernen Sie die Einschränkung:
Klicken Sie mit der rechten Maustaste darauf Einschränkung und wählen Sie Entfernen. Dadurch wird die Einschränkung aus der Datenbank gelöscht.
Ändern Sie die Spalte:
Nachdem Sie die Einschränkung entfernt haben, können Sie nun die „Bewertung“ ändern. Spalte mithilfe der entsprechenden SQL-Anweisung in den Datentyp double um.
Erstellen Sie die neu Einschränkung:
Sobald die Spalte „Bewertung“ geändert wurde, können Sie die Fremdschlüsseleinschränkung neu erstellen, um die Datenbankintegrität aufrechtzuerhalten.
Durch Befolgen dieser Schritte: Sie können den Datentyp der Spalte „Bewertung“ erfolgreich ändern, ohne dass der Abhängigkeitsfehler auftritt.
Das obige ist der detaillierte Inhalt vonWie ändere ich eine fremdschlüsselreferenzierte Ganzzahlspalte in EF-Datenbanken auf doppelte Genauigkeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!