Compartir a través de


Cómo: Actualizar filas en la base de datos (LINQ to SQL)

Actualización: November 2007

Puede actualizar las filas de una base de datos modificando los valores de miembro de los objetos asociados a la colección Table<TEntity> de LINQ to SQL y enviando después los cambios a la base de datos. LINQ to SQL convierte los cambios en los comandos UPDATE adecuados de SQL.

Nota:

Puede invalidar los métodos predeterminados de LINQ to SQL para las operaciones de base de datos Insert, Update y Delete. Para obtener más información, consulte Personalizar operaciones de inserción, actualización y eliminación (LINQ to SQL).

Los desarrolladores de Visual Studio pueden usar el Diseñador relacional de objetos para desarrollar procedimientos almacenados con el mismo propósito.

En los pasos siguientes se asume que un objeto DataContext válido le conecta a la base de datos Northwind. Para obtener más información, consulte Cómo: Conectarse a una base de datos (LINQ to SQL).

Para actualizar una fila de la base de datos

  1. Consulte en la base de datos la fila que se va a actualizar.

  2. Realice los cambios deseados en los valores de miembro en el objeto LINQ to SQL resultante.

  3. Envíe los cambios a la base de datos.

Ejemplo

En el ejemplo siguiente se consulta en la base de datos el pedido #11000 y, a continuación, se cambian los valores de ShipName y ShipVia en el objeto Order resultante. Finalmente, los cambios en estos valores de miembro se envían a la base de datos como cambios en las columnas ShipName y ShipVia.

' 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.
}

Vea también

Tareas

Cómo: Asignar procedimientos almacenados para realizar actualizaciones, inserciones y eliminaciones (Diseñador relacional de objetos)

Otros recursos

Cómo: Administrar los conflictos de cambios (LINQ to SQL)

Crear y enviar cambios en los datos (LINQ to SQL)