【发布时间】:2009-11-21 01:34:21
【问题描述】:
我有一个抽象基类Entity,我所有的 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);
}
}
这样,我就不用在每个映射文件中都写Id(x => x.Id)了:
public class Something : EntityMap<T>
{
blahblah
}
我正在自动生成我的数据库模式,一切看起来都很好,除了 Entity 基类被添加为一个表。使用 fluent 映射,如何配置它以便将实体类从数据库架构中排除?
【问题讨论】:
-
哎呀,找到了我的答案。 Entity 表是以前的数据库模式生成遗留下来的。显然 NHibernate 只生成新表(如果它们具有相同的名称,则删除旧表以便用新表替换它们),但不会删除任何不重叠的现有表。
标签: fluent-nhibernate schema nhibernate-mapping