【问题标题】:Fluent NHibernate mapping ignore all classes that inherit from generic base classFluent NHibernate 映射忽略所有从泛型基类继承的类
【发布时间】:2015-09-02 13:24:15
【问题描述】:

我有一个项目:

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

    RepositoryObject
]

RepositoryObject 类继承自 Repo 的基类当我设置映射时:

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

它将失败,因为 RepositoryObject 没有映射 ID。 Repo 基类和会话工厂设置和映射位于 nuget 包中,因此不能直接更改。我想要做的是能够设置映射以引入从 Repo

继承的任何类

【问题讨论】:

    标签: c# nhibernate fluent-nhibernate


    【解决方案1】:

    你可能会这样例外:

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

    【讨论】:

    • 这让我大部分时间都在那里。 .Where(x => !x.IsSubclassOf(typeof(Repo)))
    猜你喜欢
    • 2015-05-23
    • 1970-01-01
    • 2014-12-09
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多