Posts
163
Comments
179
Trackbacks
5
NHibernate
Rilasciato NHibernate 3.1.0

La giornata inizia bene! Ho appena appreso che è stata rilasciata la versione 3.1.0 di NHibernate. Qui il link al download, mentre a questo indirizzo potete trovare la release note con le modifiche introdotte.

posted @ giovedì 10 marzo 2011 09:52 | Feedback (0)
NHibernate: utilizzare lo 0 per rappresentare l’assenza di entità

Quando si ha a che fare con database legacy, potrebbe saltar fuori la necessità di non inserire nel database valori nulli per le relazioni many-to-one nulle, ma bensì il valore zero. Questo post su NHForge, discute la problematica e definisce una soluzione. Per chi avesse bisogno della versione in VB.NET ecco il codice convertito: 1: Public Class NullableTuplizer 2: Inherits PocoEntityTuplizer 3:  4: Sub New(ByVal entityMetamodel As EntityMetamodel, ByVal mappedEntity As PersistentClass) 5: MyBase.New(entityMetamodel,...

posted @ martedì 22 febbraio 2011 14:52 | Feedback (0)
Rilasciato NHibernate 3.0

Ci siamo! E’ stato ufficialmente rilasciata la versione finale di NHibernate 3.0. Per scaricarlo il solito link.

posted @ lunedì 6 dicembre 2010 13:10 | Feedback (1)
NH Day: annullamento iscrizione ?

Causa spostamento matrimonio e del relativo viaggio di nozze, non potrò partecipare al prossimo NH Day (mannaggia alla pupazza!!!). Devo annullare semplicemente l'iscrizione o è possibile girare il posto a qualcun altro? Qualcuno mi sa dare informazioni?

posted @ lunedì 23 agosto 2010 12:09 | Feedback (0)
NHibernate 3 Alpha 2

Le ferie sono già un ricordo per me, ma almeno qualche buona notizia c'e'! Durante questo periodo di inattività è stata rilasciata l'alpha 2 di NHibernate 3.  Qui il link per il download: http://sourceforge.net/projects/nhibernate/files/  

posted @ mercoledì 18 agosto 2010 13:55 | Feedback (0)
NHibernate Designer from Mindscape

Pur non essendo un fan sfegatato dei designer devo ammettere che in certi casi possono essere molto utili e soprattutto possono accelerare alcuni progetti. Apprendo quindi con estrema felicità che è disponibile l’NHibernate Designer sviluppato dalla Mindscape. Non ho avuto modo di provarlo ancora, ma da quello che leggo si integra con Visual Studio 2010, supporta sia il model first sia il database first e ha un costo relativamente basso ($ 249 a sviluppatore).

posted @ mercoledì 18 agosto 2010 13:52 | Feedback (2)
NHibernate 3 Alpha 1

Mi era sfuggito, ma da circa una settimana è possibile scaricare l’Alpha 1 di NHibernate 3. Appena ho un attimo mi metterò sicuramente a provarla!

posted @ venerdì 30 luglio 2010 11:39 | Feedback (0)
NHibernate: query e fetch join, attenzione ai risultati multipli!

Ovviamente non ricordavo di certo il post di Gianmaria, ma sono proprio caduto in questo problema. Nel mio caso non uso Criteria ma HQL, ma il problema è lo stesso ed è descritto bene nel post sopra indicato. Per completezza usando HQL avremo: 1: IQuery obj_query = this.Session.CreateQuery(query); 2: ... 3: ... 4: ... 5: // Restituisco i risultati 6: return obj_query.SetResultTransformer(Transformers.DistinctRootEntity).List<T>(); dove Query è la nostra query HQL da eseguire e T è il tipo generico.

posted @ mercoledì 14 luglio 2010 18:14 | Feedback (1)
NHDay: Iscrizione completata!

Stavo quasi per scordarmi, ma fortunatamente i posti sono ancora disponibili e l'iscrizione al prossimo NHDay è stata fatta! Ci si vede li per chi ci sarà!

posted @ martedì 15 giugno 2010 21:10 | Feedback (1)
HqlIntellisense

Non conoscevo questo progetto, ma sono rimasto piacevolmente sorpreso. Come dice Felice nel suo post, non c’e’ ancora una versione rilasciata, ma scaricando il codice è possibile testare la versione in fase di sviluppo. Non ho fatto ancora tanti test, ma il tutto sembra funzionare piuttosto bene. Certamente c’e’ ancora tanto da fare, l’Intellisense è un pochino lento a comparire, nel caso di join l’Intellisense non funziona  e i risultati della query se fossero in forma tabellare sarebbe sicuramente meglio. Nonostante questo il tool mi sembra veramente un ottimo modo per testare velocemente le query HQL. Complimenti Felice! Attendo con ansia gli sviluppi di...

posted @ giovedì 29 aprile 2010 15:31 | Feedback (0)
NHibernate: lazy load e il parametro not-found=”ignore”

Primo post dell’anno, sempre sul caro e “vecchio” NHibernate. Oggi mi è capitata una situazione particolare, anche se ben codificata. Scenario molto semplice: entità con una reference ad un’altra entità. Nello specifico un preventivo collegato ad un cliente. Il mapping che stavo utilizzando era questo: 1: <class name="Preventivo" table="Preventivi_Testate" lazy="true"> 2: <id name="ID" type="Int32" unsaved-value="0"> 3: <generator class="native" /> 4: </id> 5: ... 6: ... ...

posted @ martedì 12 gennaio 2010 16:24 | Feedback (0)
NHibernate.Linq e l’errore "Expression of type 'System.Int32' cannot be used for return type 'System.Boolean"

Primi esperimenti con il provider LINQ per NHibernate e primi problemi. Scenario: vorrei eseguire una semplicissima query confrontando un campo stringa con un valore immesso dall’utente. Qui di seguito la query: 1: Dim items = From u In q _ 2: Where u.Username = userName La query è ovviamente banale, ma produce questo errore: "Expression of type 'System.Int32' cannot be used for return type 'System.Boolean" Dopo aver verificato la correttezza della mia applicazione, sono passato al solito Google. Ed ecco spiegato il problema in dettaglio in questo...

posted @ giovedì 31 dicembre 2009 14:32 | Feedback (0)
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...

posted @ mercoledì 30 dicembre 2009 17:31 | Feedback (0)
Visual NHibernate

Non lo conoscevo proprio! A questo indirizzo è possibile trovare Visual NHibernate un simpatico tool per creare e gestire progetti NHibernate. E’ ancora in beta e mancano molte cose, ma mi sembra molto promettente. Sul gruppo di discussione nhusers c’e’ una discussione attiva che indica pregi e mancanze del progetto.

posted @ giovedì 3 dicembre 2009 12:02 | Feedback (2)
NHibernate: comparazione delle performance tra vari ORM

Chi come me segue vari blog e si interessa di NHibernate, avrà sicuramente visto in questi giorni una serie di post che mettono in comparazione le performance di vari ORM tra cui ovviamente NHibernate. Il primo post che ho visto rimandava ad un sito vero e proprio, ORM Battle. NET, che come si legge nella sua homepage è un sito “devoto” alla comparazione diretta degli ORM. In questo sito è stata pubblicata una nuova tabella che mette in comparazione vari ORM tra cui NHibernate, Entity Framework, OpenAccess, etc... Oltre a questa tabella un altro esempio è stato fatto in questo post....

posted @ venerdì 21 agosto 2009 15:12 | Feedback (1)
Iniziare a lavorare con NHibernate e SQL CE

Nell’ultimo progetto che sto portando avanti, è nata la necessità di memorizzare una serie di dati “lato client”, evitando però di dover installare database di vario tipo o altri software aggiuntivi. Utilizzando già NHibernate per la persistenza dei dati lato server, mi sembrava una buona cosa utilizzarlo anche lato client. Non essendo pienamente soddisfatto di Access, che ho già utilizzato in altri progetti, ho pensato di utilizzare SQL CE nella versione 3.5. Predisporre il progetto e configuare NHibernate è molto semplice. Questo post mi è stato molto utile perchè indica in breve tutti i passi da seguire.

posted @ venerdì 21 agosto 2009 12:08 | Feedback (0)
Rilasciata l'alpha 2 di NHibernate 2.0

Come annunciato da Fabio Maulo in questo post, è disponibile l'alpha 2 di NHibernate 2.0. Sorgenti ed eseguibili possono essere scaricati da qui. Interessante la nota sulla beta 1 che è prevista per il prossimo 29/06/2008.

posted @ mercoledì 18 giugno 2008 16:08 | Feedback (0)
Disponibile l'alpha1 di NHibernate.Burrow 1.0.0

Come annunciato da Fabio nel newsgroup, riporto anche qui la notizia della disponibilità dell'alpha1 di NHibernate.Burrow. Ma cos'e' NHibernate.Burrow? Ecco un breve estratto preso direttamente dal wiki: Why Is Burrow Needed? Burrow is a light weight middleware developed to support .Net applications using NHibernate (maybe also referred as NH in this article) as ORM framework. Using Asp.net with NHibernate could be a challenge because of the fact that NHibernate is a stateful environment while Asp.net is a stateless framework. Burrow can help solve this conflict by providing advanced and smart session/transaction management and other facilitates. .... .... OpenSessionInView pattern isn't hard to implement, but...

posted @ lunedì 21 aprile 2008 10:30 | Feedback (0)
NHibernate e Oracle

Breve post per segnalare questo blog che potrebbe rivelarsi utile per chi è alle prese con NHibernate e Oracle. Technorati Tags: NHibernate, Oracle

posted @ mercoledì 16 aprile 2008 11:34 | Feedback (2)
Forum italiano di NHibernate

So che esiste un gruppo dedicato ad ORM su UgiDotNet, so che esiste Guisa, ma questo forum, per chi non lo conoscesse, tratta esclusivamente NHibernate: http://groups.google.it/group/nh-it Cosa aspettate, se siete utilizzatori NHibernate accorrete numerosi!

posted @ giovedì 10 aprile 2008 15:54 | Feedback (1)
Rilasciata l'alpha 1 di NHibernate 2.0

Mattina interessante: Ayende ha appena annunciato l'uscita dell'alpha 1 di NHibernate 2.0! I cambiamenti introdotti sono tantissimi e non sto qui ad elencarli. Non vedo l'ora di poter fare qualche test e qualche prova! Technorati Tags: NHibernate

posted @ lunedì 31 marzo 2008 09:58 | Feedback (0)
[NHibernate] - DateTime e update non necessari

Seguendo il post di Gian Maria oggi mi sono deciso ad attivare il log su NHibernate per verificare quali query fossero lanciate sul database (a proposito quando attivate il log ricordatevi di inserire l'inizializzazione di log4net altrimenti non viene loggato niente). Tutto funziona a meraviglia, ma con mio stupore ho notato che nel dump sono presenti una serie di update a fronte di una semplice lettura di dati (da un solo tipo di entità). Controllo il mio file di mapping ma è tutto molto semplice: qualche proprietà e 4-5 relazioni many-to-one. Vado in debug e in effetti verifico che la sessione...

posted @ mercoledì 27 febbraio 2008 15:27 | Feedback (1)
Settare una proprietà con l'attributo <ScriptIgnore>

  E' da un po' di tempo che sono alle prese con NHibernate, Domain Model, AJAX e compagnia bella. In particolare sto utilizzando massiciamente i PageMethods per recuperare i dati di un'entità e visualizzarli in un ModalPopup. Oggi aggiungendo una form per editare una nuova entità mi è saltato fuori il messaggio: Il problema è dovuto al fatto che all'interno dell'entità Documentazione ho una reference all'entità padre che a sua volta ha una reference ad una lista di oggetti di tipo Documentazione. La soluzione che ho trovato è stata quella di marcare la proprietà relativa alla reference dell'entità padre con l'attributo <ScriptIgnore() >...

posted @ sabato 15 dicembre 2007 11:33 | Feedback (0)
Aggiornato l'articolo NHibernate Best Practices with ASP.NET

La prima versione dell'articolo NHibernate Best Practices with ASP.NET di Bill McCafferty è datata 12 Marzo 2006. Da allora sono passati diversi mesi e soprattutto NHibernate si è evoluto un "pochino". Ecco quindi che anche l'articolo è stato aggiornato opportunamente. Non ho avuto ancora modo di leggerlo in modo dettagliato, ma da una prima occhiata credo che sia una risorsa veramente utile.

posted @ lunedì 16 aprile 2007 10:53 | Feedback (0)
NHibernate: i campi calcolati

NHibernate consente la definizione di proprietà "calcolate", ovvero proprietà che non saranno considerate nella fase di persistenza e che saranno valorizzate in fase di caricamento dell'entità da database (e solo in questa fase!).Per fare tutto questo è sufficiente utilizzare l'attributo formula del tag . Di seguito sono mostrati due esempi: < span>property> < span>property> Nel caso si utilizzino delle subselect è necessario racchiudere lo statement SQL tra parantesi, altrimenti verrà generato un errore in fase di caricamento dell'entità. Altra cosa da sottolineare è che...

posted @ domenica 4 febbraio 2007 12:02 | Feedback (0)
NHibernate: i campi blob

Ok, so che ci sono pareri discordanti sui campi blob e sull'inserimento nel database di file, immagini o quant'altro. Personalmente, venendo dall'esperienza SharePoint, posso dire che non mi dispiacciono troppo e in qualche caso ho utilizzato anche io i campi blob per inseire file o immagini. Pensando in ottica NHibernate, mi sono chiesto se fossero supportati e se tutto funzionasse come per gli altri campi. Facendo una ricerca veloce ho notato che è possibile utilizzare il tipo "BinaryBlob" nel mapping di una proprietà. Un esempio potrebbe essere il seguente: <property name="Immagine" type="BinaryBlob" column="Immagine"/> Per quanto riguarda la mia entità la proprietà Immagine è...

posted @ mercoledì 24 gennaio 2007 11:48 | Feedback (0)
NHibernate: utilizzare database multipli

E' ufficiale sono entrato nel tunnel. Le prime volte che ho sentito parlare di NHibernate l'ho snobbato senza mezzi termini. Piano piano però ho iniziato a seguire i post e negli ultimi giorni mi sono visto i webcast di  Marco De Sanctis e Giancarlo Sudano (l'ultimo quello di oggi). La loro passione mi ha contagiato e ora eccomi qui a scrivere i miei primi post. Ma iniziamo con calma. Come forse tutti quelli che si sono affacciati al mondo NHibernate, la prima cosa che mi sono detto è stata quella di provare a verificare se tutte le esigenze (in termini...

posted @ mercoledì 24 gennaio 2007 10:09 | Feedback (2)
Intellisense e NHibernate 1.2.0 Beta 3

Contagiato dalle sessioni di Marco De Santis e Giancarlo Sudano tenute allo scorso WorkShop di DotNetMarche, ho iniziato anche io a dare un'occhiata a NHibernate e a fare le prime prove.Come forse tutti, ho iniziato con la Quick Start Guide, ma prima ancora ho predisposto Visual Studio 2005 per attivare l'intellisense dell'editor XML per i file di NHibernate. Come spiegato da Mario Duzoni in questo post, l'operazione è abbastanza semplice, si tratta solo di copiare qualche file nell'apposita cartella di Visual Studio.Se però utilizzate la versione 1.2.0 Beta 3 di NHibernate occorre modificare l'XML dei file di mapping sostituendo xmlns="urn:nhibernate-mapping-2.0" con...

posted @ martedì 23 gennaio 2007 10:26 | Feedback (0)
News
Se volete sapere con chi avete a che fare eccomi qui in uno "scatto" lavorativo.

La mia foto

Logo MCAD
Logo MCTS