Compartilhar via


Como: atualizar linhas no banco de dados

Você pode atualizar linhas em um banco de dados modificando valores membro dos objetos associados à coleção Table<TEntity> do LINQ to SQL e então enviar as alterações ao banco de dados. O LINQ to SQL converte suas alterações nos comandos SQL UPDATE apropriados.

Observação

É possível substituir os métodos padrão do LINQ to SQL para operações de banco de dados Insert, Update e Delete. Para obter mais informações, consulte Personalizar Operações de Inserção, Atualização e Exclusão.

Desenvolvedores que utilizam o Visual Studio podem usar o Object Relational Designer para desenvolver procedimentos armazenados para a mesma finalidade.

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

Para atualizar uma linha no banco de dados

  1. Consulte a linha ser atualizada no banco de dados.

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

  3. Envie as alterações ao banco de dados.

Exemplo

O exemplo a seguir consulta a ordem #11000 no banco de dados e modifica os valores de ShipName e de ShipVia no objeto Order resultante. Finalmente, as alterações nesses valores membro são enviadas ao banco de dados como alterações nas colunas ShipName 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

Confira também