Condividi tramite


Procedura: aggiornare righe nel database (LINQ to SQL)

È possibile aggiornare righe in un database modificando i valori dei membri degli oggetti associati alla raccolta LINQ to SQL Table<TEntity>, quindi inviando le modifiche al database. Tali modifiche vengono convertite da LINQ to SQL nei comandi SQL UPDATE corretti.

NotaNota

È possibile eseguire l'override dei metodi predefiniti LINQ to SQL per le operazioni di database Insert, Updatee Delete.Per ulteriori informazioni, vedere Personalizzazione delle operazioni Insert, Update e Delete (LINQ to SQL).

Gli sviluppatori che utilizzano Visual Studio possono adoperare Object Relational Designer per sviluppare stored procedure allo stesso scopo.Per ulteriori informazioni, vedere Progettazione relazionale oggetti e Progettazione relazionale oggetti e Progettazione relazionale oggetti.

Per l'esecuzione dei passaggi seguenti si presuppone l'utilizzo di un oggetto DataContext valido per la connessione al database Northwind. Per ulteriori informazioni, vedere Procedura: effettuare la connessione a un database (LINQ to SQL).

Per aggiornare una riga nel database

  1. Eseguire una query sul database per la riga da aggiornare.

  2. Apportare le modifiche desiderate ai valori del membro nell'oggetto LINQ to SQL risultante.

  3. Inviare le modifiche al database.

Esempio

Nell'esempio di codice seguente viene eseguita una query sul database per l'ordine N. 11000, quindi vengono modificati i valori di ShipName e ShipVia nell'oggetto Order risultante. Infine le modifiche a questi valori del membro vengono inviate al database come modifiche nelle colonne ShipName e 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.
}

Vedere anche

Attività

Procedura: assegnare stored procedure per l'esecuzione dei comandi di aggiornamento, inserimento ed eliminazione (Progettazione relazionale oggetti)

Altre risorse

Procedura: gestire i conflitti di modifiche (LINQ to SQL)

Scrittura e invio di modifiche di dati (LINQ to SQL)