功能NHibernate忽略列名我有一個抽象基類,它繼承了夏普Arch的實體類:上overrided Id屬性
/// <summary>
/// defines an entity that will ne indexed by a search crawler and offered up as full-text searchable
/// </summary>
public abstract class IndexedEntity : Entity
{
[DocumentId]
public override int Id
{
get { return base.Id; }
protected set { base.Id = value; }
}
}
這是一個傳統的DB和實際的ID列被稱爲「HelpPageID」,所以我有一些映射覆蓋爲:
mapping.Id(x => x.Id, "HelpPageID");
查詢HelpPage
生成的SQL正常工作時,我只是繼承Entity
。但在繼承IndexedEntity
時,如果轉換爲sql,則忽略列名覆蓋,而對列使用Id
,從而導致失敗。
編輯 似乎是一個普遍的問題與倍率爲直接在類放置覆蓋具有相同的淨效果
你正在使用哪種繼承策略? TPH? – Firo 2012-02-17 09:52:56
是的默認TPH – 2012-02-17 11:24:51