В настоящее время я использую следующий код для игнорирования базовых типов с помощью автоматического отображения Fluent NHibernate:
AutoMap.AssemblyOf<Class1>(new MyDefaultAutomappingConfiguration())
.Conventions.Setup(GetConventions())
.IgnoreBase<MyCore.BaseTypes.AmazingBaseType>()
.IgnoreBase<MyCore.BaseTypes.AnotherAmazingBaseType>()
.UseOverridesFromAssemblyOf<AutoPersistenceModelGenerator>();
Есть ли способ игнорировать базовые типы по пространству имен (то есть MyCore.BaseTypes
) вместо необходимостииспользовать метод IgnoreBase()
для каждого базового типа, который у меня есть?
Я пытался выполнить это, используя мой переопределенный метод ShouldMap(Type)
в DefaultAutomappingConfiguration
расширенном классе (то есть MyDefaultAutomappingConfiguration
), чтобы выполнить это, но он все еще пыталсядля сопоставления базовых типов:
public class MyDefaultAutomappingConfiguration: DefaultAutomappingConfiguration {
public override bool ShouldMap(Type type) {
return !IsBaseType(type);
}
private bool IsBaseType(Type type) {
return type.Namespace == typeof(MyCore.BaseTypes).Namespace;
}
}