';混凝土等级为'的表;使用Fluent NHibernate';自动映射

';混凝土等级为'的表;使用Fluent NHibernate';自动映射,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,任何人都不知道是否可以将Fluent NHibernate配置为使用“带有具体类的表”继承自动映射对象。在查看自动映射(我已写入文件)时,我有许多从EntityBase派生的实体,但我希望Id列位于每个表上,而不是EntityBase表上 <class name="EntityBase" table="EntityBase" xmlns="urn:nhibernate-mapping-2.2"> <id name="Id" type="Int32" column="En

任何人都不知道是否可以将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文档,但看不到任何与此相关的内容


提前感谢。

您是否在自动映射中设置了
IsBaseType
约定?这个特定的约定定义了代码中被视为简单基类的内容,而不是实体继承层次结构的一部分

AutoPersistenceModel
  /* regular config */
  .WithSetup(s =>
    s.IsBaseType = (type => type == typeof(EntityBase)));

谢谢你,詹姆斯。我曾经想知道这个惯例和“Where”方法之间的区别是什么,现在我知道了!