分享方式:


作法:更新資料庫中的資料列

您可以修改 LINQ to SQL Table<TEntity> 集合關聯物件的成員值,然後提交變更資料庫,更新資料庫中的資料列。 LINQ to SQL 會轉譯變更為適當的 SQL UPDATE 命令。

注意

您可以覆寫 InsertUpdateDelete 資料庫作業的 LINQ to SQL 預設方法。 如需詳細資訊,請參閱自訂插入、更新和刪除作業 (機器翻譯)

使用 Visual Studio 時,開發人員可以使用物件關聯式設計工具開發相同用途的預存程序。

下列步驟假設一個有效的 DataContext 會將您連接至 Northwind 資料庫。 如需詳細資訊,請參閱做法:連線資料庫

若要更新資料庫中的資料列

  1. 查詢資料庫,以找出要更新的資料列。

  2. 在產生的 LINQ to SQL 物件中,針對成員值進行所需的變更。

  3. 將變更提交至資料庫。

範例

下列程式碼範例會查詢資料庫中的訂單編號 11000,然後變更結果 ShipName 物件中 ShipViaOrder 的值。 最後,這些成員值的變更會提交至資料庫,成為 ShipNameShipVia 資料行的變更。

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

另請參閱