Ich bin ziemlich neu im Entity Framework und bin gerade dabei, meine erste MVC-Anwendung zu erstellen. Ich implementiere eine Create View für eine einfache Entity, habe jedoch Probleme mit dem Primärschlüssel der Identity-Spalte (SQL Express 2005). Nach meinem Verständnis sollte das Framework die Identity-Spalte behandeln und die SQL-Datenbank den ID-Wert generieren lassen.Entity Framework Identitätsspalte funktioniert nicht
Wenn ich versuche, mit der Create View zu speichern, ohne den ID-Wert zu setzen, erhalte ich den Fehler "Value is Required". Wenn ich einen Wert für die ID festlege, wird dieser mit dem Identity-Wert aus der Datenbank in die Datenbank zurückgespeichert - d. Anstatt den Wert, den ich angegeben habe, wird das T-SQL offensichtlich korrekt generiert, sobald es soweit ist.
Die Eigenschaft Identität auf der ID-Spalte in der Datenbank festgelegt und die StoreGeneratedPattern im Modell „Identität“ eingestellt ist (siehe unten): -
Name = „ID“ Type = „int“ Nullable = "false" StoreGeneratedPattern = "Identität"
Fehle ich etwas? Wie kann ich dem Modell mitteilen, dass für diese Spalte kein Wert erforderlich ist?
Sie Leitregel sind richtig. Es hat nichts mit der Datenbank zu tun. UpdateModel (Entität) schlägt fehl, wenn es die FormCollection empfängt. Versuchen Sie es auf andere Weise ModelState.IsValid = false, wenn die Entität übergeben wurde. Die Validierung "Wert ist erforderlich" wird für das ID-Feld zurückgegeben. –