Procédure : Mettre à jour des lignes dans la base de données
Vous pouvez mettre à jour des lignes dans une base de données en modifiant les valeurs de membre des objets associés à la collection Table<TEntity> LINQ to SQL et en soumettant les modifications à la base de données. LINQ to SQL traduit vos modifications en commandes SQL UPDATE
appropriées.
Notes
Vous pouvez remplacer les méthodes LINQ to SQL par défaut pour les opérations de base de données Insert
, Update
et Delete
. Pour plus d’informations, consultez Personnalisation des opérations d’insertion, de mise à jour et de suppression.
Les développeurs travaillant avec Visual Studio peuvent utiliser le Concepteur Objet Relationnel pour développer des procédures stockées dans le même but.
Les étapes suivantes supposent qu'un DataContext valide vous connecte à la base de données Northwind. Pour plus d’informations, consultez Guide pratique pour se connecter à une base de données.
Pour mettre à jour une ligne dans la base de données
Interrogez la base de données concernant la ligne à mettre à jour.
Apportez les modifications souhaitées aux valeurs de membre dans l’objet LINQ to SQL obtenu.
Soumettez les modifications à la base de données.
Exemple
L'exemple suivant interroge la base de données concernant la commande 11000, puis modifie les valeurs de ShipName
et ShipVia
dans l'objet Order
obtenu. Enfin, les modifications apportées à ces valeurs de membre sont soumises à la base de données comme modifications dans les colonnes ShipName
et ShipVia
.
// Query the database for the row to be updated.
var query =
from ord in db.Orders
where ord.OrderID == 11000
select ord;
// Execute the query, and change the column values
// you want to change.
foreach (Order ord in query)
{
ord.ShipName = "Mariner";
ord.ShipVia = 2;
// Insert any additional changes to column values.
}
// Submit the changes to the database.
try
{
db.SubmitChanges();
}
catch (Exception e)
{
Console.WriteLine(e);
// Provide for exceptions.
}
' Query the database for the row to be updated.
Dim ordQuery = _
From ord In db.Orders _
Where ord.OrderID = 11000 _
Select ord
' Execute the query, and change the column values
' you want to change.
For Each ord As Order In ordQuery
ord.ShipName = "Mariner"
ord.ShipVia = 2
' Insert any additional changes to column values.
Next
' Submit the changes to the database.
Try
db.SubmitChanges()
Catch e As Exception
Console.WriteLine(e)
' Make some adjustments.
' ...
' Try again
db.SubmitChanges()
End Try