Megosztás a következőn keresztül:


Útmutató: Sorok frissítése az adatbázisban

Az adatbázisok sorait úgy frissítheti, hogy módosítja a LINQ-hoz társított objektumok tagértékeit az SQL-gyűjteménybe Table<TEntity> , majd elküldi a módosításokat az adatbázisnak. A LINQ és az SQL lefordítja a módosításokat a megfelelő SQL-parancsokra UPDATE .

Feljegyzés

Felülbírálhatja a LINQ-t az SQL alapértelmezett metódusaival a , Updateés Delete az adatbázis-műveletek esetébenInsert. További információ: Beszúrási, frissítési és törlési műveletek testreszabása.

A Visual Studiót használó fejlesztők az Objektum relációs Tervező használhatják ugyanahhoz a célra tárolt eljárások fejlesztéséhez.

Az alábbi lépések feltételezik, hogy egy érvényes DataContext kapcsolat kapcsolódik a Northwind-adatbázishoz. További információ: Útmutató: Csatlakozás adatbázishoz.

Sor frissítése az adatbázisban

  1. A frissíteni kívánt sor adatbázisának lekérdezése.

  2. Módosítsa a tagértékeket az eredményként kapott LINQ-ból SQL-objektumba.

  3. Küldje el a módosításokat az adatbázisba.

Példa

Az alábbi példa lekérdezi az adatbázist az 11000- számú rendeléshez, majd módosítja ShipName az eredményként kapott objektum értékeitOrder.ShipVia Végül a rendszer a tagértékek módosításait az adatbázisba küldi el a változásokként az oszlopokban és ShipVia az ShipName oszlopokban.

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

Lásd még