0
NHibernate通常相當聰明,如果在查詢中不使用來自相關實體的字段,則多對一地省略連接。不過,我想這樣做就沒有再選擇其他表中的公式識別器,所以我做了一個自定義的留存與如何強制NHibernate總是進行多對一的連接
protected override string DiscriminatorFormulaTemplate
{
get { return this.DiscriminatorFormula; }
}
,並指定只在公式的列名(不過這列名是從相關表)
<discriminator formula="TypeID" />
我知道這通常容易出現名稱衝突,但在這種特定情況下,這不是問題。
所以現在我想強制相關的(many-to-one
)表總是加入到主表中。做這個的最好方式是什麼?當HN檢測到某些字段被使用時,它會加入一些時間,但我不知道如何強制它一直這樣做。