2010-01-06 3 views
1

Je suis en train d'utiliser FluentNHibernate avec AutoMapping mais je reçois l'erreur suivanteAucun persister pour une entité utilisant AutoMap dans Nhibernate Fluent?

No persister for: nHibernateSpike.Entities.Route 
    NHibernate.MappingException: No persister for: nHibernateSpike.Entities.Route 

Voici les choses pertinentes;

 var model = AutoMap.AssemblyOf<Route>(). 
      Where(t => t.Namespace == "nHibernateSpike.Entities"); 

     model.WriteMappingsTo(@"c:\hbm"); 

     var db = MsSqlConfiguration.MsSql2008 
      .ConnectionString(c => c 
      .Server("localhost") 
      .Database("PTSIntegrationDB") 
      .TrustedConnection() 
      ) 
      .ShowSql(); 

     var sessionFactory = Fluently.Configure() 
      .Database(db) 
      //.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Route>()) 
      .Mappings(m => m.AutoMappings.Add(model)) 
      .BuildSessionFactory(); 

     return sessionFactory; 

Entité

 namespace nHibernateSpike.Entities 
     { 
      public class Route 
      { 
       public virtual int Id { get; private set; } 
       public virtual string Number { get; set; } 
       public virtual string ConfirmationCategory { get; set; } 

       public Route() { } 

      } 
     } 

Je tire mes cheveux. En utilisant les travaux ClassMap suivants;

 public class RouteMap: ClassMap<Route> 
     { 
      public RouteMap() 
      { 
       Table("Route"); 
       Id(c => c.Id); 
       Map(c => c.Number); 
       Map(c => c.ConfirmationCategory); 
      } 

     } 

J'ai la possibilité d'utiliser Automap pour conduire le DB oon ce projet, et je voudrais l'utiliser - tous les indices?

+0

fait model.WriteMappingsTo (@ "c: \ hbm"); écrire les correspondances correctes? – mxmissile

+0

Non, j'ai supposé que l'automapper avait échoué à trouver les types, donc pas de sortie. Il semble que ce soit un bug courant avec WriteMappingsTo. –

Répondre

1

Je crois me rappeler qu'il y a un bogue en circulation où l'appel WriteMappingsTo peut empêcher que vos mappages soient transmis à NHibernate, essayez de supprimer cet appel et de voir ce qui se passe.

+0

Bingo :) Merci beaucoup - http://code.google.com/p/fluent-nhibernate/issues/detail?id=325 –

Questions connexes