2009-03-05 5 views
3

Ich versuche, fließend nHibernate zu konfigurieren und haben diesen CodeFließend nHibernate Konfiguration

Assembly mappingAssembly = Assembly.ReflectionOnlyLoadFrom("LibrarySample.Model.dll"); 
sessionFactory = Fluently.Configure() 
    .Database(MsSqlConfiguration.MsSql2005 
    .ConnectionString(c => c 
     .FromAppSetting("ConnectionString")) 
    .ShowSql()) 
    .Mappings(m => m 
    .FluentMappings.AddFromAssembly(mappingAssembly)) 
    .BuildSessionFactory(); 

Als ich betreibe ich diese Meldung allerdings „FluentNHibernate.Cfg.FluentConfigurationException: Eine ungültige oder nicht komplette Konfiguration verwendet wurde, während eine Session Schaffung ".

Wenn ich diesen Code verwenden, funktioniert es, aber ich möchte die Model Assembly nicht direkt von der Core-Assembly referenzieren, die den nHibernate Session Manager hat.

sessionFactory = Fluently.Configure() 
    .Database(MsSqlConfiguration.MsSql2005 
    .ConnectionString(c => c 
     .FromAppSetting("ConnectionString")) 
    .ShowSql()) 
    .Mappings(m => m 
    .FluentMappings.AddFromAssemblyOf<LibrarySample.Model.Book>()) 
    .BuildSessionFactory(); 

Kann jemand helfen?

Antwort

8

Ich habe es ausgearbeitet. Eine der Eigenschaften in der Entity-Klasse wurde nicht als virtuell markiert.

+1

Ich hatte das gleiche Problem. Vielen Dank! – IRegretable

+0

Ich habe nicht verstanden, warum? Macht man Eigenschaften nicht virtuell genug? –