2012-09-14 76 views
2

我使用NHibernate 3.3.1,我需要確保沒有我的字符串列將有長度,但正如我所知,Length屬性是PropertyMapper類的私有或它的一些基類。NHibernate的映射定製

我努力避免使用反射訪問私有財產來獲取長度並檢查它。

你能幫我嗎?

+0

如果從Baz1nga答案是不是你要找的人,請澄清,如果你想寫一個單元測試來驗證你的m appings或運行時測試來驗證實際值。 –

回答

0

可以使用check屬性來實現這一點。在你的映射文件中,您需要定義是這樣的:

<property name="Foo" type="string"> 
    <column name="foo" check="DATALENGTH(foo) > 15"/> 
</property> 

這將創建一個檢查約束。我也不太清楚有關DATALENGTH方法,但可以確認的..

參考NH文檔在這裏的第20.1.1節:http://nhibernate.info/doc/nh/en/index.html

+0

對不起,但我忘了提及,我需要在數據庫架構,這是由NH生成的。 – Zote

+0

udpated我的答案.. – Baz1nga