2009-12-22 81 views
0

我遇到以下問題。在使用NHibernate進行讀寫時使用sql函數

我在我的表格中有一個特殊的列(blob)。爲了讀寫該列,我需要調用一個SQL函數的值 - 在讀取時轉換爲字符串,並在寫入時將字符串轉換爲此字符串。

閱讀部分很簡單 - 我可以使用公式來針對列運行sql函數。但公式是隻讀的。使用IUserType也似乎沒有幫助 - 我可以得到blob並編寫我自己的代碼將其轉換爲我自己的類型,但我不想這樣做 - 我已經有一個數據庫函數可以爲我工作。

任何想法?

回答

0

您可以指定sql來插入和更新,請參閱reference documentation, "Custom SQL for create, update and delete"。這裏是an example from Ayende它使用存儲過程(這是不一樣的,只是看看它是如何工作的)。

或者你可以寫一個數據庫觸發器來完成這個轉換。

+0

我知道我可以做到這一點,但它會使一切更加麻煩。這個字段在我的表的很大一部分,我不想爲我的映射中的每個實體指定自定義的SQL。我希望找到一種通用的方式來處理這種類型的列。 –