Свободный NHibernate: Предотвратить отображение класса - PullRequest
4 голосов
/ 26 июня 2009

Я уверен, что это кусок пирога, но я не могу найти его с помощью Google. Мне нужно ИСКЛЮЧИТЬ один класс из сопоставления. Моя текущая конфигурация:

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

Работает хорошо, пока ... Но у меня есть некоторые классы, которые я не хочу отображать. Есть что-нибудь вроде:

PSEUDO CODE:

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

1 Ответ

7 голосов
/ 26 июня 2009

Я бы попробовал

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