2010-01-06 4 views
1

나는 자동 매핑과 FluentNHibernate를 활용하기 위해 노력하고있어하지만 다음과 같은 오류유창한 Nhibernate에서 AutoMap을 사용하는 엔티티에 대한 persister가 없습니까?

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; 

법인

 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); 
      } 

     } 

나는이 프로젝트 지운 DB를 구동 오토 맵을 사용할 수있는 기회를 가지고, 나는 그것을 사용하고 싶습니다 - 모든 단서를?

+0

않습니다 model.WriteMappingsTo (@ "c : \ hbm"); 올바른 매핑을 작성 하시겠습니까? – mxmissile

+0

아니요, 나는 automapper가 유형을 찾지 못해 출력이 없다고 생각했습니다. WriteMappingsTo의 현재 버그 인 것 같습니다. –

답변

1

WriteMappingsTo을 호출하면 매핑이 NHibernate로 전달되는 것을 막을 수있는 현저한 버그가 있다는 것을 상기시키는 것처럼 보입니다. 호출을 제거하고 어떤 일이 일어나는지보십시오.

+0

빙고 :) 많은 감사합니다 - http://code.google.com/p/fluent-nhibernate/issues/detail?id=325 –

관련 문제