Fluent nhibernate 如何在fluent NHibernate中使用fluent映射排除基类?

Fluent nhibernate 如何在fluent NHibernate中使用fluent映射排除基类?,fluent-nhibernate,schema,nhibernate-mapping,Fluent Nhibernate,Schema,Nhibernate Mapping,我有一个抽象的基类,实体,我的所有POCO都源于此: public abstract class Entity { public virtual Guid Id { get; set; } } 和映射文件: public class EntityMap<T> : ClassMap<T> where T : Entity { public EntityMap { Id(x => x.Id); } } 我正在自动生成我

我有一个抽象的基类,
实体
,我的所有POCO都源于此:

public abstract class Entity
{
    public virtual Guid Id { get; set; }
}
和映射文件:

public class EntityMap<T> : ClassMap<T> where T : Entity
{
    public EntityMap
    {
        Id(x => x.Id);
    }
}

我正在自动生成我的数据库模式,除了实体基类作为表添加外,一切看起来都很好。使用fluent mappings,如何配置它,以便将实体类从数据库架构中排除?

您可以将其添加到自动映射器的忽略列表中:

AutoMap.AssemblyOf<Entity>()
  .IgnoreBase(typeof(Entity));
AutoMap.AssemblyOf()的
.IgnoreBase(类型(实体));

哇,找到我的答案了。实体表是上一代数据库架构生成的遗留数据。显然,NHibernate只生成新表(如果旧表具有相同的名称,则删除旧表以替换为新表),但不删除任何不重叠的现有表。
AutoMap.AssemblyOf<Entity>()
  .IgnoreBase(typeof(Entity));