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;