Partager via


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

  1. Interrogez la base de données concernant la ligne à mettre à jour.

  2. Apportez les modifications souhaitées aux valeurs de membre dans l’objet LINQ to SQL obtenu.

  3. 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

Voir aussi