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繼承。