2011-02-10 75 views
0

我是nHibernate的新手,所以這個問題可以是白癡。我有一個可以爲空的nvarchar列的表。 在映射我使用Map(c => c.Genero, "genero").Nullable(); 在屬性我使用trim來設置值,所以我有一個私人字符串和公共虛擬字符串。 當我做這個表中的選擇時,我在這個屬性的setter中收到一個運行時錯誤。 我嘗試將此屬性傳遞給Nullable,但我收到編譯時錯誤,說The type 'string' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'System.Nullable<T>'nHibernate + Fluent中可以爲空的字符串屬性/列

我該怎麼做?

謝謝大家!

UPDATE

如果我只使用屬性{get;組; }正常工作,但我需要修剪。

回答

1

問題可能是您無法修剪空字符串。請嘗試:

public string Genero 
{ 
    get { return _genero; } 
    set { _genero = string.IsNullOrEmpty(value) ? value : value.Trim(); } 
} 

根據您的映射,這可能會導致在會話刷新時將修剪的字符串寫入數據庫。將字符串映射爲私有字段並將其修剪到getter中可能會更好。

相關問題