Maison > base de données > tutoriel mysql > LINQ peut-il effectuer des mises à jour SQL directes sans sélectionner au préalable les données ?

LINQ peut-il effectuer des mises à jour SQL directes sans sélectionner au préalable les données ?

Patricia Arquette
Libérer: 2024-12-25 05:26:17
original
922 Les gens l'ont consulté

Can LINQ Perform Direct SQL Updates Without Selecting Data First?

Mises à jour directes avec LINQ sans Select

Lorsque vous traitez directement avec SQL, vous pouvez générer des commandes de mise à jour avec des conditions sans exécuter d'instruction select. Dans LINQ, le modèle courant consiste à sélectionner des entités, à les modifier et à soumettre les modifications. Cependant, est-il possible d'effectuer une mise à jour directe à l'aide de LINQ et d'une exécution différée sans transmettre de données au client ?

La requête LINQ fournie tente d'effectuer une mise à jour directe, mais elle inclut une clause de sélection. Bien que LINQ dispose de toutes les informations nécessaires pour générer une commande de mise à jour, il n'existe pas d'équivalent de mot clé "set" dans LINQ.

Solution :

Pour créer des instructions de mise à jour directes à l'aide LINQ-to-SQL :

  1. Créer un objet et définir sa clé propriétés :
Foo foo = new Foo { FooId = fooId };
Copier après la connexion
  1. Attachez l'objet au contexte :
context.Foos.Attach(foo);
Copier après la connexion
  1. Définissez les propriétés que vous souhaitez mettre à jour :
foo.Name = "test";
Copier après la connexion
  1. Soumettre le changements :
context.SubmitChanges();
Copier après la connexion

Remarque :

  • Assurez-vous que la propriété UpdateCheck de toutes les propriétés de votre Dbml est définie sur "Jamais".
  • Pour définir une propriété sur null, initialisez l'objet avec une valeur non nulle (par exemple, Name="###").
  • Pour vérifier un horodatage lors de la mise à jour, définissez la propriété UpdateCheck de la propriété Modified dans votre Dbml sur "Toujours".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal