2009-06-25 89 views
4

我相信这是一块蛋糕,但我无法使用谷歌找到它。 我需要从映射中排除单个类。我现在的配置是:流利的NHibernate:阻止类映射

return Fluently.Configure() 
     .Database(MsSqlConfiguration.MsSql2005.ConnectionString(c => 
       c.Is(@"Data Source=PC\SQLEXPRESS;......"))) 
      .Mappings(m => 
       m.AutoMappings.Add(
       AutoPersistenceModel.MapEntitiesFromAssemblyOf<Person2>() 
         .Where(t => t.Namespace == "ExampleData.HumansTest") 
         .UseOverridesFromAssemblyOf<PersonMappingOverrides>() 
         .ConventionDiscovery.AddFromAssemblyOf<PersonMappingOverrides>() 
         ) 
        ).BuildConfiguration(); 

工作良好,那么远, 但我有一些类我不想映射。有没有类似的东西:

伪代码:

return Fluently.Configure() 
      .Database(MsSqlConfiguration.MsSql2005.ConnectionString(c => 
       c.Is(@"......."))) 
      .Mappings(m => 
       m.AutoMappings.Add(
       AutoPersistenceModel.MapEntitiesFromAssemblyOf<Person2>() 
         .Where(t => t.Namespace == "ExampleData.HumansTest") 
         .DO_NOT_MAP_CLASS<UnfinishedClass> 
         .UseOverridesFromAssemblyOf<PersonMappingOverrides>() 
         .ConventionDiscovery.AddFromAssemblyOf<PersonMappingOverrides>() 
         ) 
        ).BuildConfiguration(); 

回答

7

我想尝试

... 
.Where(t => t.Namespace == "ExampleData.HumansTest" 
      && t != typeof(UnfinishedClass)) 
... 
+0

尼斯...谢谢,非常完美。而从我身边的“Doh”,本来可以看到它的:-) – 2009-06-25 21:27:59