如果在db中有char(5)列並且那裏有「ABC」,如果將此列映射到字符串屬性,您會發現nhibernate會將其映射爲「ABC__」,其中下劃線表示的是某種(我沒有檢查過它是什麼ascii代碼)有誰知道如何使nhibernate映射char(n)列爲字符串而不添加尾隨空格?
很長一段時間,現在我們通過將列更改爲varchar並修剪數據庫中的所有條目來解決此問題。如果有一個解決方案讓我們將列保留爲char(n)(如果只是爲了節省我們的一些工作)會更好一些。(
我想我可以嘗試在get和padding上修剪,但那並不是'不要讓我成爲最大的解決方案。
那麼,有沒有一些不錯的方法來配置nhibernate讀取char(n)列到一個字符串,而沒有它讀額外的空白?
謝謝!
修剪到get是不夠的,有時如果您將屬性讀入某個用戶可編輯字段(如datagridview),則修剪後的值會重新設置爲set,並且會話被刷新無用的更新語句將被創建 – 2011-12-23 23:09:41
儘管如此,我只是在想,我可以確保將所有進入該設置的值都放回原來的位置。我只是希望有一些不可思議的方式來配置能夠阻止我每次都這樣做的事情。 – 2011-12-23 23:11:03
「如果會話被刷新無用的更新語句得到創建」除非你的應用程序中有些事情會自動保存實體(與用戶點擊某個按鈕相反),否則無用更新的數量將變得相當可觀。用戶將不得不打開該實體,不做任何更改並單擊保存。我不認爲這經常發生。 – 2011-12-23 23:15:01