Maison > base de données > tutoriel mysql > Comment LINQ peut-il effectuer des mises à jour directes de la base de données sans utiliser de requêtes SELECT ?

Comment LINQ peut-il effectuer des mises à jour directes de la base de données sans utiliser de requêtes SELECT ?

Patricia Arquette
Libérer: 2024-12-23 12:37:10
original
761 Les gens l'ont consulté

How Can LINQ Perform Direct Database Updates Without Using SELECT Queries?

Effectuer des mises à jour directes avec LINQ sans requêtes de sélection

LINQ permet une approche plus efficace de la manipulation de bases de données en utilisant l'exécution différée. En particulier, il prend en charge les mises à jour directes sans nécessiter que les instructions SELECT récupèrent explicitement les données.

Pour y parvenir, LINQ peut générer des commandes de mise à jour basées uniquement sur les modifications que vous apportez aux objets d'entité. Prenons l'exemple suivant :

using System;
using System.Linq;
using System.Data.Linq;

namespace LinqUpdateDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a DataContext
            DataContext dc = new DataContext();

            // Attach an entity to the DataContext
            Foo foo = new Foo { FooId = 1 };
            dc.Foos.Attach(foo);

            // Modify the entity
            foo.Name = "Updated Name";

            // Submit the changes without a SELECT query
            dc.SubmitChanges();
        }
    }

    public class Foo
    {
        public int FooId { get; set; }
        public string Name { get; set; }
    }
}
Copier après la connexion

Dans cet exemple, l'expression LINQ génère une commande de mise à jour directement dans la base de données sans exécuter de requête SELECT. Ceci est rendu possible par :

  • Suivi des objets : LINQ assure le suivi des modifications apportées aux objets d'entité, y compris leurs valeurs actuelles et originales.
  • Attacher l'objet : Attacher l'entité au DataContext permet à LINQ d'effectuer le suivi des modifications sur son propriétés.

Lors de l'appel de SubmitChanges(), LINQ génère une commande SQL UPDATE basée sur les modifications apportées à l'objet foo :

UPDATE Foos SET Name = 'Updated Name' WHERE FooId = 1
Copier après la connexion

Lorsque vous travaillez avec LINQ, n'oubliez pas que la récupération de données et la modification sont des étapes distinctes. Cela permet des opérations efficaces en évitant les transferts de données inutiles vers le client.

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