2011-03-28 62 views
1

我正在用NHibernate構建一個使用S#arp Architecture的新系統。我是S#arp的新手,但是經歷過NHibernate。我真正希望找到的一個功能是在一個位置指定文本字段長度的一種很好的方式,該長度將傳遞給需要知道長度的每個圖層。NHibernate和夏普體系結構中的一個地方指定數據庫和驗證的字段長度

換句話說,我使用Fluent映射來指定Whatsis對象的名稱字段爲50個字符。 (我關閉了自動映射,因爲我仍然在爲大多數類(如果不是所有的類)寫映射覆蓋,我決定自己編寫完整的映射,我自己用ClassMap寫了一個映射,以便從中生成完整的數據庫模式。當我使用hbm2ddl生成數據庫模式時,我得到一個長度爲50個字符的字段。那很棒。但我也希望MVC驗證程序自動執行它。而且我非常貪婪,我甚至希望NHibernate爲Whatsis生成的代理對象知道它的setter中的長度,所以如果在代碼中我應該指定一個太長的值,我會得到一個異常。

我有沒有希望在不太複雜的項目中實現這一目標?這是我第一次使用Fluent映射。我認爲這是Fluent的一項功能,但看起來它畢竟不能這樣工作。

+0

在過去,我採取了這種方法訪問MVC中的NHibernate實體驗證 - http://stackoverflow.com/questions/2826248/sharp-architecture-accessing-validation-results – WorldIsRound 2011-03-28 20:48:03

回答

0

您需要使用NHibernate Validator,因爲這是NHibernate hbm2ddl當前支持的唯一驗證框架。不幸的是,它看起來並不像任何人將NHibernate Validator和MVC3驗證連接在一起。這裏是別人的遊戲還有問題:

MVC 3, NHIbernate Validators & Message Interpolator

,因爲我已經用xVal應該可以(前身MVC3驗證)與NHibernate的驗證以往對於客戶端驗證,服務器端屬性驗證和模式生成。有人只需投資一些TLC就可以讓NHibernate Validator與MVC3驗證器一起玩。

+0

我想我把NHibernate Validator項目和流利的NHibernate。我知道我之前在某處讀過這些東西,我只是認爲這是在Fluent項目中。謝謝! – 2011-03-31 16:28:33

相關問題