1
是否可以在Fluent NHibernate Formula中引用或重命名實體的表別名?我可以通常使用「this_」但不幸的是似乎不一致基於NHibernate生成的其他別名的數量。Fluent NHibernate ClassMap Formula中的引用父表別名?
this.Map(x => x.IsLocked).Formula("CASE WHEN (SELECT COUNT(*) FROM dbo.Child c WHERE c.InboundDate >= BeginDate AND c.InboundDate < EndDate) > 0 THEN 1 ELSE 0 END");
這由得我,但我遇到麻煩時,我需要匹配相同的命名字段(如「ID」)
this.Map(x => x.IsLocked).Formula("CASE WHEN (SELECT COUNT(*) FROM dbo.Child c WHERE c.ID = ID) > 0 THEN 1 ELSE 0 END");
這裏,因爲ID
是列在c
, c.ID = ID
將始終評估爲true。在大多數情況下,我可以將其更改爲c.ID = this_.ID
,但在我的一些實體中,NHibernate不會使用this_
作爲別名,但類似parent1_
。
我已經更新了問題 - 希望 - 讓它多了幾分清晰。我沒有談到NHibernate給公式的別名,但NHibernate給別名提供了實體表。 – 2012-03-02 14:31:44
你說得對。 NHibernate將'this_'附加到'ID'。我沒有得到結果,並咆哮了錯誤的樹。 – 2012-03-02 15:08:13