PreInsertEventListenerを追加し、関数をオーバーライドして、空の文字列をNULL値に変換する必要があります。
public class NhibernateEventListeners : IPreInsertEventListener
{
public bool OnPreInsert(PreInsertEvent nHibernateEvent)
{
var entityBeingInserted = nHibernateEvent.Entity;
if (entityBeingInserted == null)
return false;
if (property.PropertyType==typeof(string))
{
//use reflection to set the property value to null
}
return false;
}
}
とのSessionFactoryを設定しているときに、これはあなたが探しているものは、あなたの設定に
_config.ExposeConfiguration(
config => config.SetListener(ListenerType.PreInsert, new NhibernateEventListeners()));
希望を以下を追加してください:
このことについて移動するための方法は次のようになりますあなたを助けます。
check http://stackoverflow.com/questions/2592556/how-to-have-nhibernate-persist-a-string-empty-property-value-as-nullまたhttp://stackoverflow.com/questions/1187841/mapping-empty-strings-to-null-in-nhibernate – V4Vendetta
こんにちは。あなたのリンクをありがとう。私は質問があります:彼らはFluentで働いているのを見ました。私はhbmマッピングで作業します。これはhbmマッピングでも動作しますか? – BennoDual
hbmマッピングでもカスタムIUserTypeを使用できます。例 ' –
Nikolay