2012-02-15 22 views
5

Ho una tabella con più colonne e voglio aggiornare solo una colonna. Sto scrivendo un metodo che prima recupera il record e poi lo aggiorna cambiando il valore della colonna. Come questo:Aggiornamento di una singola colonna in LINQ su SQL

using (myDC...) 
{ 
    var recordInDB = (from... 
        where .... 
        select r).SingleOrDefault(); 

    if (recordInDB != null) 
    { 
    recordInDB.MyColumn = newValue; 

    myDC.SubmitChanges(); 
    } 

è questa intenzione di mantenere tutte le altre colonne come erano e aggiornare solo quello che voglio cambiare o è questa intenzione di cancellare tutte le colonne e aggiornare il MyColumn colonna con il nuovo valore?

risposta

6

Questo non cambierà le altre colonne nella tabella. Solo quello che stai aggiornando.

4

Ciò manterrà le colonne che non sono state toccate nel modo in cui si trovano nel database al momento della lettura.

Nella chiamata SubmitChanges LINQ2SQL confronta i valori nei campi dell'oggetto con i valori nel database e aggiorna solo quelli che sono stati modificati.

Problemi correlati