Я не уверен, что понимаю, откуда будет взято значение, которое должно быть вставлено, если оно не установлено при создании сущностей (при условии, что они, конечно, предоставят соответствующий атрибут), но ...
Один вариантбыло бы использовать IInterceptor
для изменения SQL во время OnPrepareStatement
и добавить все, что вы хотите в случае INSERT.
using System;
using System.Collections;
using NHibernate.SqlCommand;
using NHibernate.Type;
namespace NHibernate
{
[Serializable]
public class MyInterceptor : IInterceptor
{
...
public SqlString OnPrepareStatement(SqlString sql)
{
///Do what is required here to alter the SQL string
return sql;
}
}
}
И применить ваш перехватчик либо на уровне сеанса, либо глобально.
Справочник
- Справочное руководство NHibernate