NHibernate AutoMap中用于组件的通用抽象类过滤器
本文关键字:抽象类 过滤器 组件 AutoMap 用于 NHibernate | 更新日期: 2023-09-27 18:10:34
我重写了NHibernate的DefaultAutomappingConfiguration
的IsComponent
方法,以指定我的组件是实现通用抽象类的每个类,但不知道如何。
这是我的ValueObject
基类:
public abstract class ValueObject<T> : IEquatable<T> where T : class
我想写一些类似的东西:
public override bool IsComponent(Type type)
{
return type.BaseType == ValueObject<T> where T : class;
}
您可以使用这个条件:
type.BaseType.IsGenericType && type.BaseType.GetGenericTypeDefinition() == typeof(ValueObject<>)
该条件将匹配基类型为泛型且其开放泛型版本为ValueObject<T>
的所有类型