/ / Insérer et mettre à jour la fusion à l'aide de EF - entity-framework, entity-framework-4

Insérer et mettre à jour la fusion en utilisant EF - entity-framework, entity-framework-4

J'utilise sql azure comme stockage.

J'ai un ensemble de données (liste d'entités) qui ales nouveaux et les anciens enregistrements. Je n'ai aucun moyen d'identifier quel enregistrement est à mettre à jour ou à insérer. J'ai besoin d'un moyen d'utiliser EF pour envoyer le tout à db, en utilisant une déclaration qui identifiera quoi en faire (ce qui signifie mettre à jour ou insérer)

J'ai pu trouver une fusion utilisant un contexte d'objet, mais cela ne correspond pas à mon objectif.

Si quelque chose n'est pas clair, demandez s'il vous plaît.

Réponses:

0 pour la réponse № 1

Vous avez quelques options ici, mais dans chacune d’entre elles, EF doit savoir quelles entités sont nouvelles et lesquelles sont anciennes.

  • Laissez EF faire le suivi des modifications. C'est-à-dire, interrogez et enregistrez à partir de la même instance de contexte. C’est la réponse évidente et je n’en dirai pas plus, car je suppose que votre architecture ne le permet pas ou vous ne voudriez pas vous poser la question.
  • Avoir une caractéristique de l'entité qui permetvous savez si c'est ancien ou nouveau. C’est de loin la chose la plus courante à faire si vous ne pouvez pas utiliser le suivi des modifications EF. Généralement, vous utilisez la valeur de la clé primaire - quelque chose comme zéro / nombre négatif / null pour les nouvelles entités, tout le reste pour les anciennes.
  • Interrogez la base de données sur chaque entité pour savoir si elle existe ou non.