我的系统中有自定义类型, Type<T> .

要使用Fluent NHibernate进行映射,我有一个自定义的IUserType .

public class GenericType<T> : IUserType

这在Fluent映射中使用时以预期的方式映射类型:

Map(x => x.Property).CustomType<GenericType<BusinessClass>>()

我希望将此作为约定,以便 Type<T> 类型的所有属性都应为 CustomType<GenericType<T>> .

通常我会使用 UserTypeConvention<TUserType> 的约定 . 但是这个类的语法, GenericTypeConvention<T> : UserTypeConvention<GenericType<T>> 并不认为Fluent NHibernate不检查通用约定?

有没有办法使用约定来解决这个问题,或者是将自定义类型附加到 Type<T> 类型属性的所有映射的唯一解决方案?