Utilisation d'IDENTITY_INSERT avec EF4
Je suis en train de créer un enregistrement dans la base de données qui a un prédéfini valeur de la clé primaire. Je sais comment faire avec sql, mais je me demandais si l'EF peut le faire pour moi? Sinon, je vais devoir créer une procédure stockée pour les plaquettes.
source d'informationauteur Paul Knopf
Vous devez vous connecter pour publier un commentaire.
Dans le cas où vous avez la
StoreGeneratedPattern
attribut "None" pour votre entité, l'Entité Clé de la valeur que vous spécifiez pour, il sera passé à la base de données.Dans le cas où cet attribut est défini soit à "Identité" ou à "Calculé" il n'y a aucun moyen de contrôler ce que la valeur sera définie pour cette colonne en DB.
Donc, si vous avez une clé auto-incrémentée dans votre base de données et la ADO.NET Modèle de Données d'Entité assistant a mis le
StoreGeneratedPattern
pour vous, vous pouvez manuellement modifier cet attribut pour "None" dans le SSDL le cadre du modèle à l'aide de l'Éditeur XML, puis activerIDENTITY_INSERT
.Vous pouvez utiliser le
ObjectContext.ExecuteStoreCommand
méthode si vous utilisez EF4 ou utiliser leObjectContext.Connection.StoreConnection
propriété à l'exécution d'une commande SQLSET IDENTITY_INSERT <Your_Table> ON
(à la fois dans EF1 et EF v4).