2011-03-03 71 views
0

最近我不得不在我的NHibernate映射中使用公式屬性。我的意圖是使用公式屬性作爲查詢過濾器,他們似乎在這方面正常工作。如何在加載對象中排除公式屬性

但是我沒有意識到使用公式屬性的副作用。在加載對象時,NHibernate還會嘗試使用定義的公式填充屬性。

我的問題是,是否有可能在加載對象時阻止NHibernate填充公式屬性?

更具體地說,我遇到的問題是,NHibernate試圖使用我在SQL選擇語句中的公式,這是我不想要的。

謝謝!

回答

0

是的,在您的房產映射中,您可以指定access="noop"。這不會填充任何字段/屬性。您可以執行custom loader。要在撥打Session.LoadSession.Get時將您的noop屬性從加載中排除

+0

我正在使用NHiberate 2.2。 'noop'是訪問屬性的有效值嗎?我得到了一個編譯錯誤。 – John 2011-03-03 18:51:12

+0

@John,應該是,看到這個帖子http://ayende.com/Blog/archive/2009/06/10/nhibernate-ndash-query-only-properties.aspx – Vadim 2011-03-03 19:17:44

+0

感謝您指點我的網站關於NHibernate的一個非常有趣的功能。但它似乎並不涉及我的問題。也許我沒有說清楚。我編輯了我的原始帖子。但這裏又是一次。基本上我想要的是無論公式是什麼,它都不能出現在SQL select語句中。例如,我的公式被定義爲'公式=「OrderPrice <10」'。它旨在用作WHERE子句中的過濾器,而不是SELECT項目之一。我希望我現在變得更清晰。再次感謝。 – John 2011-03-03 22:36:33