Sdílet prostřednictvím


Postupy: Aktualizace řádků v databázi

Řádky v databázi můžete aktualizovat úpravou hodnot členů objektů přidružených ke kolekci LINQ to SQL Table<TEntity> a následným odesláním změn do databáze. LINQ to SQL přeloží změny do příslušných příkazů SQL UPDATE .

Poznámka:

Můžete přepsat výchozí metody LINQ to SQL pro InsertUpdate, a Delete databázové operace. Další informace naleznete v tématu Přizpůsobení operací vložení, aktualizace a odstranění.

Vývojáři používající Sadu Visual Studio můžou použít Návrhář relací objektů k vývoji uložených procedur pro stejný účel.

Následující kroky předpokládají, že vás platný DataContext připojí k databázi Northwind. Další informace naleznete v tématu Postupy: Připojení do databáze.

Aktualizace řádku v databázi

  1. Zadejte dotaz na databázi, aby se řádek aktualizoval.

  2. Proveďte požadované změny hodnot členů ve výsledném objektu LINQ to SQL.

  3. Odešlete změny do databáze.

Příklad

Následující příklad dotazuje databázi na objednávku #11000 a pak změní hodnoty výsledného ShipName objektu a ShipVia v tomto objektu Order . Nakonec se změny těchto hodnot členů odesílají do databáze jako změny v polích ShipName a ShipVia sloupcích.

// 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

Viz také