Entity Framework Guid

asp.net c# entity-framework

Frage

Ich versuche, das Entity Framework mit SQL Server 2008 einzurichten. Ich verwende Guids für die Schlüssel in meinen Tabellen. Gibt es eine Möglichkeit, es so einzurichten, dass die Schlüssel automatisch von der Datenbank generiert werden? Ich habe versucht, "RowGuid" auf "true" zu setzen und den Standardwert der Spalte auf "(newid ())" zu setzen. In jedem Fall muss die zugeordnete Klasse mir noch eine Guid auf der C # -Seite geben. Irgendwelche Ideen?

Akzeptierte Antwort

Noch nicht

17.4.Kann ich eine vom Server generierte Guid als Entitätsschlüssel verwenden?

Leider wird dies in Version 1 der EF nicht unterstützt. Mit SQL Server ist es zwar möglich, über eine Spalte des Typs "Uniqueidentifier" zu verfügen und den Standardwert auf "new ()" festzulegen. Bei SQL Server 2000 gibt es jedoch keine gute Möglichkeit, den Wert zu extrahieren Wert, den der Server zu dem Zeitpunkt generiert hat, zu dem Sie das Einfügen durchführen. Dies kann jedoch mit neueren Versionen von SQL Server durchgeführt werden. Daher besteht die Absicht, einen sauberen Weg zu finden, um diese Unterstützung in zukünftigen EF-Versionen zu unterstützen, damit sie für die Datenbanken unterstützt werden kann, die dies zulassen und nicht für Andere. Zur Zeit müssen Sie die Guid auf dem Client (idealerweise im Konstruktor Ihres Objekts) und nicht auf dem Server generieren.


Beliebte Antwort

Ich persönlich denke, dass jeder, der EF verwendet, bereit wäre, die Kompatibilität mit SQL Server 2000 aufzugeben, um die benötigten Funktionen zu erhalten. Es scheint, dass jede halbwegs nicht-triviale Sache, die ich in EF machen muss, nicht unterstützt wird, da sie die Kompatibilität mit SQL Server 2000 beibehalten müssen.

Wann wird es jemals enden?



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum