Posts
83
Comments
165
Trackbacks
11
[NH] Delete...something

Con NH è "molto semplice" gestire il life-cycle di un oggetto, ma a volte nasce l'esigenza di poter effettuare operazioni che esulano dalle semplici CRUD sulla singola entità.

Un esempio semplice è quello che mi è capitato oggi: cancellare, a fronte di una certa operazione dell'utente, tutti i record di una tabella che avevano particolari requisiti.
Che fare? Caricare tutte le entità in questione e poi cancellarle una ad una? naaaaaaaaaaaaaaaaahhhhhhhhhhhhhh!!!

La session di NH mette a disposizione il metodo Delete con quattro overload. Il primo, quello di cui sopra, per l'eliminazione del singolo oggetto. Gli altri tre permettono di specificare una query SQL o HQL per definire quali sono gli elementi che devono essere eliminati.

Per fare un semplice esempio, svuotare la tabella degli utenti:

session.Delete("from User");

Facile no?

posted on mercoledì 27 febbraio 2008 12:47 Print