Posts
154
Comments
233
Trackbacks
6
Eager load con NHibernate.Linq


Modificare la strategia di caricamento delle entità a runtime è senz’altro uno dei punti di forza di NHibernate.
Utilizzando Criteria si può utilizzare il metodo SetFetchMode per modificare la modalità di fetch, mentre chi usa HQL può usare il fetch join per eseguire un eager load di una entità. Ma volendo usare NHibernate.Linq come possiamo fare?

Fortunatamente esiste un apposito extension method, l’Expand. Nell’esempio qui sotto carichiamo una fattura con il relativo cliente utilizzando un’unica query:

   1: Dim q = Me.GetSession.Linq(Of Fattura)()
   2: q.Expand("Cliente")
   3:  
   4: Dim items = From item In q _
   5:             Where item.Numero = "10"
   6: ' Restituisco la lista
   7: Return items.ToList()(0)
posted on mercoledì 30 dicembre 2009 16.31 Print
Comments
No comments posted yet.

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 7 and 1 and type the answer here:
News
Se volete sapere con chi avete a che fare eccomi qui in uno "scatto" lavorativo.
La mia foto

Logo MCAD
Logo MCTS

Visite dal 16/03/2007:

Il mio stato su Messanger: