2010-01-06 4 views
1

Я пытаюсь использовать FluentNHibernate с Автоотображением, но я получаю следующее ошибкиОтсутствует persister для лица, использующего AutoMap в Fluent Nhibernate?

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

Вот соответствующий материал;

 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; 

Entity

 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() { } 

      } 
     } 

Я потянув меня за волосы. Использование следующих работ ClassMap;

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

     } 

У меня есть возможность использовать автокарту для управления БД Уна этого проекта, и я хотел бы использовать его - любые улики?

+0

. Модель.WriteMappingsTo (@ "c: \ hbm"); написать правильные сопоставления? – mxmissile

+0

Нет, я предположил, что автомастеру не удалось найти типы, следовательно, нет выхода. Кажется, это текущая ошибка с WriteMappingsTo. –

ответ

1

Я, кажется, помню, что есть замечательная ошибка, при которой вызов WriteMappingsTo может помешать переносу ваших сопоставлений в NHibernate, попробуйте удалить этот вызов и посмотреть, что произойдет.

+0

Bingo :) Большое спасибо - http://code.google.com/p/fluent-nhibernate/issues/detail?id=325 –

Смежные вопросы