目前,我正在使用以下代码来忽略具有 Fluent NHibernate 自动映射的基本类型:
AutoMap.AssemblyOf<Class1>(new MyDefaultAutomappingConfiguration())
.Conventions.Setup(GetConventions())
.IgnoreBase<MyCore.BaseTypes.AmazingBaseType>()
.IgnoreBase<MyCore.BaseTypes.AnotherAmazingBaseType>()
.UseOverridesFromAssemblyOf<AutoPersistenceModelGenerator>();
有没有办法通过命名空间(即MyCore.BaseTypes
)忽略基本类型,而不必为IgnoreBase()
我拥有的每个基本类型使用该方法?
我尝试使用-extended 类(即)中的重写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;
}
}