Für meinen Primärschlüssel und die Identität in unserer Kundentabelle verwende ich uniqueidentifier
Spalte mit einem Standardwert, der auf newsequentialid() gesetzt ist. Das Einfügen neuer Zeilen über das Verwaltungstool erzeugt die Werte für die ID fine.
Das Einfügen von .NET 4-Code über EF führt dazu, dass null GUIDs (00000-0000....) eingefügt werden. Ich erstelle die Entität mit new, setze einige Werte und führe EF AddToClients
(zum Beispiel). Beim Debuggen zeigt der Wert für die id-Eigenschaft null GUID an. Ich setze die id nicht explizit über die Guid.NewGuid()
in meinem Code, denn ich möchte es dem Kunden überlassen newsequentialid()
in SQL Server. Das Problem ist, dass es nicht funktioniert. Beim ersten Mal, wenn der Code ausgeführt wird, wird eine Zeile mit einer GUID von Null eingefügt. Beim nächsten Mal schlägt er offensichtlich fehl und führt zu einer Ausnahme wegen Primärschlüsselverletzung.
Wie kann ich dies erreichen, ohne die GUID in meinem Client-Code festlegen zu müssen?