Domanda

Posso dipendere da NHibernate 3.0 built-in provider di Linq per eseguire query complesse contengono le funzioni di aggregazione come Max e Min e contiene operazioni sulle stringhe, come Contiene, StartsWith, o EndsWith ??

È stato utile?

Soluzione

C'è stato molto dibattito sulla lista nhusers in quanto vi sono alcune questioni ancora in sospeso.

Vorrei guardare sul gruppo nhusers e leggere alcuni dei post e rendere il vostro propria mente. Vedi qui per i messaggi .

Personalmente ho trovato che queryover fa tutto quello che mi serve così io per primo avrebbe aspettato fino a quando il provider Linq diventa più stabile nel tempo.

Vorrei raccomando a far parte del gruppo nhusers per ottenere una migliore sensazione.

Altri suggerimenti

I problemi evidenti che ho trovato è:

  1. metodo .OfType () non è implementata che può essere un problema con gerarchie di ereditarietà.
  2. A sinistra si unisce non sono supportati
  3. non banale gruppo da operazioni non funzionano (anche qualcosa di semplice come l'ordinamento per numero di gruppo).
  4. Fetch () deve essere l'ultimo metodo nella query che può rendere il paging con le collezioni associati difficili.

Tuttavia, è sicuramente un miglioramento dal provider NHContrib.

Le operazioni che hai elencato sono supportati bene negli scenari usuali.

Il provider LINQ è molto più stabile e avanzato rispetto a quello scritto da Ayende. (Non dising quello che ha scritto è stato a causa di ciò che ha scritto che ho preso di nuovo NH)

Credo che l'unico problema che ho incontrato con NH Query è tipi compositi. Si può fare loro in EF / L2S, e NH3 sembra generare il codice SQL corretto, ma non riesce a raggiungere l'esecuzione di esso.

Personalmente mi piace QueryOver, si legge meglio per me.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top