Diciamo che ho una tabella File con la colonna "File_ID".
Come posso scrivere una veloce query / istruzione LINQ per impostare ogni "File_ID" nella tabella File su "1"?
Sto usando LINQPad in modalità Statement, ma non importa.
risposte:
3 per risposta № 1LINQ è per interrogare, non aggiornare. I modelli LINQ to SQL (e altre origini dati) utilizzano un modello a oggetti tradizionale di Aggiungi, Rimuovi, getter e setter e Update () per eseguire il commit del changeset sul supporto dati.
Quello che stai descrivendo è semplicemente iterare su tutti gli oggetti record nella tua raccolta di tabelle, impostare una proprietà e chiamare Update()
. Sarebbe molto più veloce ed efficiente farlo in SQL con un singolo UPDATE
comando.
myDataContext.ExecuteQuery("UPDATE [File] SET File_ID = {0}", 1);
1 per risposta № 2
Un po 'barare:
dataContext.ExecuteQuery("update File set File_ID = 1");
1 per risposta № 3
Questo non è ciò che Linq2SQL è migliore, ma potresti provare qualcosa del genere:
using(var ctx = new MyDataContext())
{
foreach(var f in ctx.Files)
{
f.File_ID = 1;
}
ctx.SubmitChanges();
}