Maison >base de données >tutoriel mysql >Comment effectuer des mises à jour SQL directes dans LINQ sans utiliser les instructions SELECT ?
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 :
Créer un objet et définir ses propriétés clés :
Foo foo=new Foo { FooId=fooId };
Attacher l'objet au contexte :
context.Foos.Attach(foo);
Mettre à jour les propriétés de l'objet si nécessaire :
foo.Name="test";
Soumettre les modifications au base de données :
context.SubmitChanges();
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!