1
對此尚不完全確定,但是當我們將一個實體保存在NHibernate中,並且對於非空列(但具有DEFAULT值)的列包含字段值NULL時,操作將失敗。NHibernate可以被設置,以便它不INSERT字段是NULL?
我們通過在其上拋出一條INSERT語句來試驗相同的模式,完全忽略了NOT NULL字段(而不是將其顯式聲明爲NULL),並且工作正常。
這使我們相信NHibernate正在設置SQL語句,使得NOT NULL字段被顯式聲明爲NULL,從而導致INSERT錯誤。
有沒有辦法讓NHibernate從SQL語句中省略這個字段,如果它是NULL?對於它的價值,它是一個帶有DEFAULT('')的NOT NULL列的字符串字段。
我應該提到DynamicInsert/Update具有性能影響。也就是說,它會爲您試圖保存的標有這種方式的每個對象重新生成(通常是複雜的)SQL文本。 – 2010-10-11 21:55:27
這是正式注意,謝謝。幸運的是,我們正在研究相當簡單的實體,所以它不應該是一個完美的表現。希望至少。 :) – 2010-10-11 22:35:10