2009-05-27 3 views
16

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

+1 perché mi aiuti a capire come impostare la mappatura – Phil

risposta

18

Crea UserMap a pubblica tipo.

+0

Una piccola svista da parte mia con grandi conseguenze. Grazie per l'aiuto! – Cody

+0

BAH! - mi ha beccato anche io! – TWith2Sugars