Gewusst wie: Aktualisieren von Zeilen in der Datenbank (LINQ to SQL)
Aktualisiert: November 2007
Sie können die Zeilen in einer Datenbank aktualisieren, indem Sie die Memberwerte der Objekte verändern, die der LINQ to SQL Table<TEntity>-Auflistung zugewiesen sind. Anschließend übergeben Sie die Änderungen an die Datenbank. LINQ to SQL übersetzt Ihre Änderungen in die passenden SQL UPDATE-Befehle.
Hinweis: |
---|
Sie können LINQ to SQL-Standardmethoden für die Datenbankoperationen Insert, Update und Delete überschreiben. Weitere Informationen finden Sie unter Anpassen von Insert-, Update- und Delete-Operationen (LINQ to SQL). Entwickler, die mit Visual Studio arbeiten, können mithilfe von O/R-Designer gespeicherte Prozeduren für denselben Zweck entwickeln. Object Relational Designer (O/R-Designer) |
In den folgenden Schritten wird davon ausgegangen, dass Sie ein gültiger DataContext mit der Datenbank Northwind verbindet. Weitere Informationen finden Sie unter Gewusst wie: Herstellen einer Verbindung zu einer Datenbank (LINQ to SQL).
So aktualisieren Sie eine Zeile in der Datenbank
Rufen Sie die zu aktualisierende Zeile aus der Datenbank ab.
Nehmen Sie die gewünschten Änderungen an Memberwerten im resultierenden LINQ to SQL-Objekt vor.
Übergeben Sie die Änderungen an die Datenbank.
Beispiel
Im folgenden Beispiel wird die Bestellung Nr. 11000 aus der Datenbank abgerufen. Anschließend werden die Werte für ShipName und ShipVia im resultierenden Order-Objekt geändert. Schließlich werden die Änderungen an diesen Memberwerten als Änderungen in der ShipName-Spalte und der ShipVia-Spalte an die Datenbank übergeben.
' 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
// 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.
}
Siehe auch
Aufgaben
Weitere Ressourcen
Gewusst wie: Verwalten von Änderungskonflikten (LINQ to SQL)