Fluent NHibernate映射忽略从通用基类继承的所有类

时间:2015-09-02 13:24:15

标签: c# nhibernate fluent-nhibernate

我有一个项目:

Repository Project:
[
    Models:
    [
        StudentEntity
        ClassEntity
    ]
    Overrides:
    [
        StudentEntityOverride
        ClassEntityOverride
    ]   

    RepositoryObject
]

RepositoryObject类继承自Repo< TEntity,TOverride>的基类。当我设置映射时:

AutoMap
.AssemblyOf<TEntity>()               
.UseOverridesFromAssemblyOf<TOverride>()
.Conventions.Add(DefaultLazy.Never())
.Conventions.Add(DefaultCascade.SaveUpdate());

它将失败,因为RepositoryObject将没有映射ID。 Repo基类和会话工厂设置和映射位于nuget包中,因此无法直接更改。我想要做的是能够将映射设置为从Repo&lt; TEntity,TOverride&gt;

继承的任何类的ingore

1 个答案:

答案 0 :(得分:1)

你可以像这样做一个例外:

AutoMap.AssemblyOf<TEntity>().Where(x => x != typeof (Repo<TEntity, TOverride>));