2
我用流利的NHibernate的刚刚开始,遇到了以下问题试图自动映射我的实体:如何让流畅的NHibernate自动映射从继承自接口的抽象类继承的类?
public interface IDataEntity {}
public abstract class PhysicalEntity : IDataEntity {
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
public class Mine : PhysicalEntity {
public virtual string MineString { get; set; }
}
private static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008
.ConnectionString(c => c.FromConnectionStringWithKey("CSMID_FNH")))
.Mappings(m =>
m.AutoMappings.Add(
AutoMap.AssemblyOf<Mine>()
.Where(t => t.Namespace == "DAL.DomainModel" && t.IsClass && !t.Name.EndsWith("Attribute"))
.IgnoreBase<PhysicalEntity>()))
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
}
现在,如果我删除参考IDataEntity接口的自动映射作品。我尝试在接口中插入一个ID字段,但这会导致NHibernate运行时错误,就像告诉自动映射忽略IDataEntity类型一样。我在这里错过了什么?我真的很喜欢我的域中的所有类从IDataEntity继承。