Aracılığıyla paylaş


Nasıl yapılır: Veritabanında Satırları Güncelleştirme

LINQ to SQL Table<TEntity> koleksiyonuyla ilişkili nesnelerin üye değerlerini değiştirip değişiklikleri veritabanına göndererek veritabanındaki satırları güncelleştirebilirsiniz. LINQ to SQL değişikliklerinizi uygun SQL UPDATE komutlarına çevirir.

Not

, Updateve Delete veritabanı işlemleri için LINQ'yi SQL varsayılan yöntemlerine Insertgeçersiz kılabilirsiniz. Daha fazla bilgi için bkz . Ekleme, Güncelleştirme ve Silme İşlemlerini Özelleştirme.

Visual Studio kullanan geliştiriciler, saklı yordamları aynı amaçla geliştirmek için Nesne İlişkisel Tasarımcısı kullanabilir.

Aşağıdaki adımlarda geçerli DataContext bir bağlantının sizi Northwind veritabanına bağladığını varsayalım. Daha fazla bilgi için bkz. Nasıl yapılır: Veritabanına Bağlan.

Veritabanındaki bir satırı güncelleştirmek için

  1. Güncelleştirilecek satırın veritabanını sorgular.

  2. Sonuçta elde edilen LINQ to SQL nesnesindeki üye değerlerinde istenen değişiklikleri yapın.

  3. Değişiklikleri veritabanına gönderin.

Örnek

Aşağıdaki örnek, veritabanını 11000 sırası için sorgular ve ardından sonuçta elde Order edilen nesnedeki ve ShipVia değerlerini ShipName değiştirir. Son olarak, bu üye değerlerinde yapılan değişiklikler ve ShipVia sütunlarında ShipName değişiklik olarak veritabanına gönderilir.

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

Ayrıca bkz.