Como atualizar linhas no banco de dados

Você pode atualizar linhas em um banco de dados modificando os valores de membro dos objetos associados à coleção LINQ to SQL Table<TEntity> e, em seguida, enviando as alterações para o banco de dados. O LINQ to SQL traduz suas alterações nos comandos SQL UPDATE apropriados.

Nota

Você pode substituir os métodos padrão LINQ to SQL para Insertoperações , Updatee Delete banco de dados. Para obter mais informações, consulte Personalizando operações de inserção, atualização e exclusão.

Os desenvolvedores que usam o Visual Studio podem usar o Object Relational Designer para desenvolver procedimentos armazenados para a mesma finalidade.

As etapas a seguir pressupõem que um válido DataContext conecta você ao banco de dados Northwind. Para obter mais informações, consulte Como conectar-se a um banco de dados.

Para atualizar uma linha no banco de dados

  1. Consulte o banco de dados para obter a linha a ser atualizada.

  2. Faça as alterações desejadas nos valores de membro no objeto LINQ to SQL resultante.

  3. Envie as alterações para o banco de dados.

Exemplo

O exemplo a seguir consulta o banco de dados para a ordem #11000 e, em seguida, altera os valores de ShipName e ShipVia no objeto resultante Order . Finalmente, as alterações nesses valores de membro são enviadas ao banco de dados como alterações nas ShipName colunas e ShipVia .

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

Consulte também