NHIBERNATE: not-null property references a null or transient value - S...

giovedì 12 agosto 2010 - 18.37
Tag Elenco Tags  C#  |  .NET 3.5  |  Windows XP  |  Visual Studio 2008  |  MySQL 5.0  |  Office 2003

haxl Profilo | Newbie

Salve a tutti, mi scuso se il titolo non è molto chiaro ma non poteva essere più lungo.
Sto sviluppando una piccola applicazione in C# utilizzando NHibernate ed un pattern MVC.
Quando effettuo il salvataggio di un oggetto Assegnazione, al quale associo una Commessa, un Articolo ed un Utente, recuperati tutti da chiamate dirette ad NHibernate mediante "session.Get(...), il metodo di salvataggio non va a buon fine perchè si genera l'eccezione
"not-null property references a null or transient value" per il solo oggetto Utente.
Il problema è che la sua struttura e la relativa mappatura su .hbm.xml mi pare esattamente identica a quella degli altri due oggetti (che non danno problemi visto che l'errore è iniziato quando ho deciso di aggiungere l'utente all'assegnazione).
Il mio model è così strutturato (lo dettaglio perchè credo sia importante per il problema)
public class Assegnazione { public virtual int id { get; private set; } public virtual Int32 version { get; private set; } public virtual Commessa commessa { get; set; } public virtual Articolo articolo { get; set; } public virtual Utente utente { get; set; } //altre proprietà di tipo string, DateTime, bool } public class Commessa { public virtual int id { get; private set; } public virtual Int32 version { get; private set; } public virtual Cliente cliente { get; set; } public virtual StatoCommessa stato { get; set; } public virtual IList<Assegnazione> assegnazioni { get; set; } public virtual IList<Missione> missioni { get; set; } public virtual IList<CostoQualificaCommessa> costiQualificaCommessa { get; set; } //Altre proprietà di tipo string, DateTime, bool } public class Utente { public virtual int id { get; private set; } public virtual Int32 version { get; private set; } public virtual Qualifica qualifica { get; set; } public virtual string user { get; set; } public virtual string password { get; set; } public virtual IList<DettaglioMissione> dettagliMissione { get; set; } public virtual IList<MovimentoAttrezzo> movimentiAttrezzi { get; set; } public virtual IList<Presenza> presenze { get; set; } public virtual IList<Cartellino> cartellini { get; set; } public virtual IList<Assegnazione> assegnazioni { get; set; } //Altre proprietà di tipo string, DateTime, bool }

I relativi file di mappatura sono i seguenti
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Non ho grandi esperienze con NHibernate e questa cosa mi sta facendo impazzire oltre che perdere una montagna di ore di lavoro...
Vi ringrazio in anticipo. Alex
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5