2011-06-21 11 views
2

流暢階層

 var sessionFactory = 
      Fluently.Configure().Database(persistenceConfigurer).Mappings(
       m => 
       m.AutoMappings.Add(
        AutoMap.Source(new Types(typeof(Entity), typeof(Person), typeof(Animal), typeof(Stuff)))) 
        .ExportTo(@"e:\")).ExposeConfiguration(BuildSchema).BuildSessionFactory(); 

しかし、何が起こっているかは、ということです

---> NHibernate.MappingException:関連付けられていない参照先のクラス:ConsoleApplication1.Models.Entity

エンティティクラスを非抽象クラスにすると、データベース内にそのテーブルがあるのを避けたいが、Reで階層コンセプトを維持する

答えて

2

このような自動マッピングを追加する必要があります

AutoMap.AssemblyOf<Entity>(yourConfiguration).IgnoreBase<Entity>(); 

だけでなく、これはあなたのEntity基本クラスを無視しますが、あなたはあまりにも長い間、各モデルがEntityから継承して手動で各エンティティを追加する必要はありません。