Datenbank-erste Lösung.Der Wert NULL kann nicht in Spalte 'Id' (Datenbank zuerst) eingefügt werden.
Ich verwende zwei Tabellen User
und Profile
. Sie verwenden beide uniqueidentifier
(SQL Server) als ihren Primärschlüssel. Die Art, wie ich User
lassen erhält automatisch ist es eigener guid id aus war:
meine edmx Datei öffnen.
Klicken Sie mit der rechten Maustaste auf die GUID-Spalte für Benutzer -> Eigenschaften -> ändern Sie das StoreGeneratedPattern in Identity.
Arbeitete wie ein Charme. Jetzt habe ich versucht, mit Review
dies ebenfalls zu tun, aber ich erhalte die folgende Störung jedes Mal, Ich versuche, eine neue Zeile zu erstellen:
kann nicht den Wert NULL in Spalte ‚Id‘ einfügen, Tabelle ‚xxxx .dbo.Profile '; Spalte erlaubt keine Nullen. INSERT schlägt fehl. Die Anweisung wurde beendet.
Wenn ich nicht Identity
für StoreGeneratedPattern
für Profile
verwenden wird es nicht eine eindeutige ID, anstatt nur Bündel von Nullen, den duplizierten Fehler führen erzeugen, wenn ich versuche, wieder eine neue Zeile zu erstellen.
Warum funktioniert der Benutzer gut, aber nicht Profile
?
Ich folgte dieser Anleitung guide für beide Tabellen.
Ihre Fehlermeldung verweist auf eine Tabelle namens "Profil", nicht "Profil". Ist es möglich, dass Sie die Tabelle oder die Klasse, auf die sie verweist, falsch geschrieben haben? –
Sie können DatabaseGeneratedOption.Identity nicht für Uniqueidentifier (Guid) Spalten verwenden. GUID-Spalten in DBMS werden niemals automatisch inkrementiert, und da Sie StoreGeneratedPattern in Identity geändert haben, wird EF sie auch nicht als Wert übergeben, da erwartet wird, dass sie von DBMS angegeben wird. – DevilSuichiro
, damit es funktioniert, ändern Sie StoreGeneratedPattern zu None und legen Sie gültige Guid-Werte fest, oder ändern Sie den Datentyp. – DevilSuichiro