Jun
8
Postato in
Technology
Ieri ho perso metà pomeriggio di lavoro per una mia non conoscenza del mapping delle Entity in Fluent NHibernate.
L’eccezione lanciata da NHibernate:
1 | Association references unmapped class: YourClass |
Il mapping delle mie Entity avviene tramite un metoto CreateSessionFactory:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | FluentNHibernate.Cfg.Fluently.Configure() .Database ( FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2008 .ConnectionString( c => c.Server(DbConnectionValue.Server) .Username(DbConnectionValue.User) .Password(DbConnectionValue.Password) .Database(DbConnectionValue.Database) ) .ProxyFactoryFactory(" NHibernate.ByteCode.LinFu.ProxyFactoryFactory ,NHibernate.ByteCode.LinFu") ) .Mappings ( m => m.FluentMappings .AddFromAssemblyOf<OneClass.Of.My.Repository>() ) .BuildSessionFactory(); |
Bisogna fare attenzione che esistono 2 regole affinchè si possa correttamente caricare il mapping di Entity caricate tramite il metodo AddFromAssemblyOf:
1. dichiarare sempre public le classi di mapping;
2. definire sempre le proprietà Id;


















September 22nd, 2010 at 9:49 pm
A proposito di Entità…ma quelle di EF. Sicuramente saprai la risposta (e per questo ti invidio con anticipo
).
Allora ho la mia bella Entità con le sue belle proprietà. Si chiama A e ha una relazione 1-* con B, l’altrà entità. Ora EDM mi crea la classe A bella bella e se faccio la reflection GetProprierties() mi da, tra le proprietà (campi) che a me servono anche EntityKey, EntityState, EntityReference (tra A e B).
Domanda: volendo bindare A a un Grid, in modo del tutto generico, come faccio a dire a .NET di prendere tutte le proprietà di A che non sono quelle generate dall’EDM?. Così mi creo il mio generico datasource e carico in griglia solo le mie proprietà, senza che gli assengo i nomi una per una (cosa bruttissima e poco elegante).
Come ti anticipo ti invidio già per quello che io non so ghghghgh
Luca mF