Un collaboratore e io stavamo recentemente facendo il backend per una piccola applicazione utilizzando Fluent NHibernate. Abbiamo scritto le nostre entità, mappando i file, il gestore di persistenza, ma per qualche motivo non abbiamo potuto esportare lo schema del database in alcun modo.FluentMappings.AddFromAssemblyOf <> Numero FluentMappings.AddFromAssemblyOf <> Numero
Attraverso il debugger abbiamo scoperto che FluentMappings.AddFromAssemblyOf restituiva 0 mapping, anche se sono chiaramente presenti e chiaramente corretti. Abbiamo provato tutto quello che potevamo pensare e abbiamo finito per dover aggiungere manualmente ogni mappatura.
Il seguente è il codice che non ha funzionato:
return Fluently.Configure().Database(
MsSqlConfiguration.MsSql2005
.ConnectionString(c => c
.TrustedConnection()
.Server("localhost")
.Database("LDTT")))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMap>())
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
considerando che tale codice ha funzionato:
return Fluently.Configure().Database(
MsSqlConfiguration.MsSql2005
.ConnectionString(c => c
.TrustedConnection()
.Server("localhost")
.Database("LDTT")))
.Mappings(m => m.FluentMappings.Add<ClientMap>())
.Mappings(m => m.FluentMappings.Add<ContactMap>())
.Mappings(m => m.FluentMappings.Add<DepartmentMap>())
.Mappings(m => m.FluentMappings.Add<DivisionMap>())
.Mappings(m => m.FluentMappings.Add<FileMap>())
.Mappings(m => m.FluentMappings.Add<FileTypeMap>())
.Mappings(m => m.FluentMappings.Add<RegionMap>())
.Mappings(m => m.FluentMappings.Add<TimeEntryMap>())
.Mappings(m => m.FluentMappings.Add<UserMap>())
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
Qualcuno sa perché questo accade, e come risolvere il problema?
+1 perché mi aiuti a capire come impostare la mappatura – Phil