Tous les jours.Utilisez linq pour générer une mise à jour directe sans sélectionner
Je suis encore à apprendre LINQ alors pardonnez-moi si cela est naïf. Lorsque vous traitez directement avec SQL, vous pouvez générer des commandes de mise à jour avec conditions, sans exécuter d'instruction select.
Quand je travaille avec LINQ je semble suivre le modèle de:
- entités Sélectionnez
- Modifier les entités
- Soumettre les modifications
Ce que je veux faire est une mise à jour directe en utilisant linq et l'exécution différée. Est-il possible que l'exécution réelle se produise directement au SQL sans qu'aucune donnée ne soit transmise au client?
DataContext dc = new DataContext
var q = from product in dc.Products
where product.Type = 1
set product.Count = 0
dc.SubmitChanges
Donc, en substance LINQ a toutes les informations dont il a besoin sans utiliser de sélection pour générer une commande de mise à jour. Il exécuterait le code SQL:
Update Products Set Count = 0 Where Type = 1
Existe-t-il un mot clé tel que "set" dans LINQ?
la réponse actuellement acceptée est fausse - pouvez-vous choisir la bonne réponse? – laktak
Les réponses ci-dessous ne permettent pas les mises à jour basées sur les ensembles comme je l'ai décrit, mais elles sont intéressantes. – Spence