2011-01-01 21 views
2

Unterstützt Entity Framework 4 die guid-ID beim Einfügen auf dem Server noch nicht? Ich habe meine Id-Felder so eingestellt, dass sie den Standardwert newid() haben, aber Entity Framework setzt den Wert auf die leere GUID. Am Ende habe ich eine leere GUID in der Datenbank und eine leere GUID im ID-Feld meines Objekts. Wird dies noch nicht unterstützt oder muss ich etwas an meinem Modell ändern?EF4- und Server-generierte UniqueIdentifier-ID

Antwort

1

Die Lösung gefunden. Grundsätzlich wird das Entity Framework Markup nicht korrekt generiert.

http://leedumond.com/blog/using-a-guid-as-an-entitykey-in-entity-framework-4/
(Defekten Link leitet auf die Öffentlichkeitsarbeit)

+0

Wie Sie festgestellt haben, halten der Designer und die Assistenten in VS SSDL und CSDL nicht synchron. in diesem Fall StoreGeneratedPattern, aber das selbe gilt auch für viele andere Attribute. Ich habe ein Tool, das es einfach zu erkennen und zu beheben, finden Sie die "Modellvergleich" -Funktion in http://huagati.com/edmxtools/ – KristoferA

+0

@ David Osborn der Link ist gebrochen – Samuel

+0

-1: Link-Antworten sind nicht nützlich ; wenn die Links schließlich brechen, wie es gerade getan hat, ist die Antwort nicht nützlich. – ANeves

0

Es gibt ein Problem mit dem Entity-Designer in Visual Studio, was bedeutet, dass die "StoreGeneratedPattern" Feld Aktualisierung nicht korrekt den generierten Code aktualisieren. Dies bedeutet wiederum, dass EF die GUID der Entität an den SQL Server übergibt, sodass der Server newid() oder newsequentialid() nicht ausführt.

Wie David sagt, Microsoft hat eine patch freigegeben.