Il runtime di LINQ To SQL è in grado di generare dinamicamente le query di aggiornamento esaminando le modifiche fatte agli oggetti recuperati dal database.
Tuttavia, a volte questo non basta in quanto all'aggiornamento di una determinata tabella si dovrebbero aggiornare anche dati in un'altra. L'esempio più classico è quando si vogliono loggare determinate operazioni fatte dall'utente. Per fare questo, un trigger non sempre è la via percorribile e quindi si deve ricorrere al codice.
LINQ To SQL permette di inviare al server comandi SQL dinamici tramite il metodo ExecuteCommand della classe DataContext.
using (DataContext ctx = new DataContext(connString))
{
ctx.ExecuteCommand("INSERT INTO log (iduser, action) " +
"VALUES ({0}, {1})", iduser, action);
}Come si vede dal codice, le query possono utilizzare parametri, ma con una sintassi diversa da quella utilizzata con gli oggetti di ADO.NET. La sintassi ricalca quella del metodo String.Format, ma, a differenza di questo, LINQ To SQL non effettua un semplice replace delle stringhe, bensì genera dei parametri per evitare problemi di SQL Injection.
- #54 - Utilizzare il Lazy Load per caricare una proprietà semplice con LinqToSql
- Extension method ricorsivo per LINQ
- #44 - Creare un documento XML con attributi utilizzando LINQ
- ancora expression tree
- UrlRewriting con trabocchetti vari
- #24 - Eliminare elementi in comune tra più liste con la clausola Except di LINQ
- #14 - Eseguire query con LINQ
- Una noisa limitazione di LINQ To SQL
- Sviluppare workflow sequenziali con WF
- Il codice sorgente di .NET Framework 3.5, ASP.NET, WinForms e WPF rilasciato con VS 2008
- ASPItalia.com Future Web Conference: 15 gennaio 2008, L'Aquila
- Com'è fatto il formato BAML di WPF?
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.





Stampa
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!