Dela via


Anvisningar: Uppdatera rader i databasen

Du kan uppdatera rader i en databas genom att ändra medlemsvärdena för de objekt som är associerade med LINQ till SQL-samlingen Table<TEntity> och sedan skicka ändringarna till databasen. LINQ till SQL översätter dina ändringar till lämpliga SQL-kommandon UPDATE .

Kommentar

Du kan åsidosätta LINQ till SQL-standardmetoder för Insert, Updateoch Delete databasåtgärder. Mer information finns i Anpassa infognings-, uppdaterings- och borttagningsåtgärder.

Utvecklare som använder Visual Studio kan använda Object Relational Designer för att utveckla lagrade procedurer i samma syfte.

Följande steg förutsätter att en giltig DataContext ansluter dig till Northwind-databasen. Mer information finns i Så här: Anslut till en databas.

Uppdatera en rad i databasen

  1. Fråga databasen om raden ska uppdateras.

  2. Gör önskade ändringar i medlemsvärdena i det resulterande LINQ-till SQL-objektet.

  3. Skicka ändringarna till databasen.

Exempel

I följande exempel frågas databasen efter order #11000 och sedan ändras värdena ShipName för och ShipVia i det resulterande Order objektet. Slutligen skickas ändringarna av dessa medlemsvärden till databasen som ändringar i kolumnerna ShipName och 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

Se även