是否有人能够使用'具有具体类的表'继承来配置Fluent NHibernate以自动映射对象。在查看自动映射(我已写入文件)时,我有许多派生自EntityBase的实体,但我希望Id列位于每个表而不是EntityBase表上。
<class name="EntityBase" table="EntityBase" xmlns="urn:nhibernate-mapping-2.2">
<id name="Id" type="Int32" column="EntityBaseID">
<generator class="identity" />
</id>
<joined-subclass name="CategoryType, ..., Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<key column="EntityBaseId" />
<property name="CategoryTypeGUID">
<column name="CategoryTypeGUID" />
</property>
</joined-subclass>
</class>
我搜索了Fluent文档,但看不到与此相关的任何内容。
提前致谢。
答案 0 :(得分:0)
您是否在自动播放中设置了IsBaseType
约定?这个特定的约定定义了代码中被视为基类的东西,而不是被视为实体继承层次结构的一部分。
AutoPersistenceModel
/* regular config */
.WithSetup(s =>
s.IsBaseType = (type => type == typeof(EntityBase)));