Entity Framework - SaveChanges avec GUID comme EntityKey

entity-framework guid

Question

J'ai une table de base de données SQL Server 2008 qui utilise uniqueidentifier comme clé primaire. Lors des insertions, la clé est générée du côté de la base de données à l'aide de la fonction newid ().

Cela fonctionne bien avec ADO.NET. Mais lorsque je configure cette table en tant qu'entité dans un modèle Entity Framework 4, il y a un problème. Je peux très bien interroger l'entité, mais lors de la création d'une nouvelle entité et de l'appel de SaveChanges () sur le contexte, l'identificateur unique généré sur la base de données est constitué de zéros.

Je comprends qu'il y avait un problème avec EF v1 où ce scénario ne fonctionnait pas, nécessitant la création du GUID sur le client avant d'appeler SaveChanges. Cependant, j'avais lu dans de nombreux endroits qu'ils envisageaient de résoudre ce problème dans EF 4.

Ma question - ce scénario (génération d'identifiant unique par côté de la base de données) n'est-il toujours pas pris en charge dans EF4? Sommes-nous toujours en train de générer le GUID sur le client?

Réponse acceptée


Réponse populaire

Oui, cela a changé dans EF 4. Vous pouvez maintenant utiliser un GUID généré par le serveur . @MusiGenesis, les GUID générés par le serveur présentent certains avantages; ils peuvent être séquentiels, par exemple



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow