Maison > base de données > tutoriel mysql > Comment effectuer des mises à jour SQL directes dans LINQ sans utiliser les instructions SELECT ?

Comment effectuer des mises à jour SQL directes dans LINQ sans utiliser les instructions SELECT ?

Barbara Streisand
Libérer: 2024-12-26 19:52:10
original
463 Les gens l'ont consulté

How to Perform Direct SQL Updates in LINQ without Using SELECT Statements?

Mise à jour SQL directe avec LINQ sans Select

Dans LINQ, il est possible de générer des commandes de mise à jour SQL sans utiliser d'instruction select, permettant ainsi mises à jour sur la base de données.

Pour y parvenir, utilisez les éléments suivants approche :

  1. Créer un objet et définir ses propriétés clés :

    Foo foo=new Foo { FooId=fooId };
    Copier après la connexion
  2. Attacher l'objet au contexte :

    context.Foos.Attach(foo);
    Copier après la connexion
  3. Mettre à jour les propriétés de l'objet si nécessaire :

    foo.Name="test";
    Copier après la connexion
  4. Soumettre les modifications au base de données :

    context.SubmitChanges();
    Copier après la connexion

Par défaut, LINQ-to-SQL utilise « UpdateCheck » pour suivre les modifications dans les propriétés des objets. Le définir sur "Jamais" pour toutes les propriétés garantit que LINQ n'effectuera aucune requête de sélection pour détecter les modifications. Au lieu de cela, il génère une instruction de mise à jour directe.

Pour mettre à jour les propriétés nullables, initialisez l'objet avec une valeur non nulle pour la propriété, puis définissez-le sur null pour déclencher la mise à jour.

En outre , pour vérifier un horodatage lors des mises à jour, définissez la propriété "Modified" sur "UpdateCheck=Always" dans le modèle de base de données (dbml). Cela permet à LINQ de vérifier si l'objet a changé depuis la dernière récupération.

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