如何使用 Fluent NHibernate 自动映射禁用特定抽象基类的子类化
Posted
技术标签:
【中文标题】如何使用 Fluent NHibernate 自动映射禁用特定抽象基类的子类化【英文标题】:How to disable subclassing for a specific abstract base class using Fluent NHibernate auto mapping 【发布时间】:2011-04-19 20:47:31 【问题描述】:我有一个从我的实体之一引用的抽象基类。这在生成架构时导致以下异常:
Audits 表中的关联引用了一个未映射的类:Entity
因此,我必须在自动持久性模型中包含该基类:
autoPersistenceModel.IncludeBase<Entity>()
现在,我当前的问题是 Fluent NHibernate 为基类创建了一个巨大的映射,为每个实体提供了一个 joined-subclass
。这当然不是我想要的。
所以,问题是:如何设置自动映射覆盖,使其不执行任何子类化?
AutoMapping<Entity>
类型似乎只提供了选择子类化策略的方法,但无法禁用它。
【问题讨论】:
【参考方案1】:经过一番思考,我意识到我可以定义一个自定义映射,就这么简单:
public class EntityMap : ClassMap<Entity>
public EntityMap()
Id(n => n.Id);
【讨论】:
以上是关于如何使用 Fluent NHibernate 自动映射禁用特定抽象基类的子类化的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Fluent NHibernate 自动映射禁用特定抽象基类的子类化
自动增量(身份)在 Fluent NHibernate 中不起作用
Fluent NHibernate 自动映射:一对多实体,多对多后端?
Fluent NHibernate 多对多映射,使用自动生成的 pk 而不是复合键