2010-04-19 4 views
0

Y at-il un moyen d'écrire cette même instruction atomique SQL en utilisant les entités et LinQ?Si-existe-UPDATE-else-INSERT avec Linq-to-Entities?

IF EXISTS (SELECT * FROM MyTable WHERE ID = @Id) Mise à jour le nom MyTable SET = @name AUTRE INSERT INTO MyTable (@Id, @name)

ou avez-vous besoin d'appeler un stocké procédure à partir de l'EF?

Répondre

0

Entity Framework assure le suivi de la durée de vie des objets:

  • Si l'objet a été initialisé à partir d'une requête, le cadre comprend un dossier doit exister dans la base de données et effectuer une UPDATE lors de la poussée modifications à la base de données.
  • Si l'objet a été initialisé dans le code, l'infrastructure le comprend comme un "nouvel" objet et exécute un INSERT lorsque vous apportez les modifications à la base de données.

Si vous souhaitez avoir une seule pièce de SQL appelé, peu importe si une opération INSERT ou UPDATE est nécessaire, vous devrez spécifier une procédure stockée.

+0

merci beaucoup !! – daniela

Questions connexes