Se la vostra logica è complessa ed avete bisogno di usare una SP per la persistenza, potete specificare tre azioni in grado di essere invocate in maniera automatica all?interno del DataContext. Questo è possibile grazie ai Partial Method che possono essere modificati poichè il DataContext è contenuto in una partial class.
La forma dei metodi è UpdateNomeEntity per l'aggiornamento, DeleteNomeEntity per la cancellazione e InsertNomeEntity per l'inserimento. Di seguito un esempio che esegue una SP in concomitanza con l'aggiornamento dell'Entity Product mappata sull'omonima tabella del database Northwind:
public partial class Northwind : DataContext
{
public partial void UpdateProduct(Product original, Product current)
{
if (original.UnitsInStock != current.UnitsInStock) {
int rowCount = this.ExecuteCommand("exec UpdateProductStock
@id={0}, @originalUnits={1}, @decrement={2}",
original.ProductID,
original.UnitsInStock,
(original.UnitsInStock - current.UnitsInStock)
);
if (rowCount < 1)
throw new Exception("Error updating");
}
}
}E' possibile eseguire codice arbitrario e controllare, come nell'esempio, che l'operazione vada a buon fine, scatenando un'eccezione in caso contrario.
- Abusi della parola chiave var e poca leggibilità dei generics
- #58 - Ottimizzare le performance del Lazy Loading con LINQ To SQL tramite il metodo AssociateWith
- #52 - Ottimizzare le performance di una query LINQ To SQL
- Rilasciato Team Foundation Server e le versioni Express di Visual Studio 2008
- #31 - FallbackValue e NullToUnsetConverter per il Binding di WPF
- LINQPad : un pratico tool per testare velocemente query LINQ
- Eccovi LINQ to reflection
- #41 - Anteprima automatica dei video con MediaTimeline
- Eseguire query con LINQ to SQL
- Utilizzare Visual Studio 2008 per semplificare lo sviluppo con LINQ to SQL
- Epression Blend 2 December Preview
- ListView è DataPager
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!