Как научить NHibernate использовать возвращенный скаляр хранимой процедуры, используемой в пользовательском sql-insert?
У нас есть отображение NHibernate, где мы должны использовать пользовательские хранимые процедуры для вставок, обновлений и удалений. У нас есть отображение следующим образом.
<class name="MyNamespace.MyClass" table="[MYTABLE]">
<id name="Id" column="MYTABLE_ID"></id>
...
<sql-insert check="none">
EXECUTE SP_MY_TABLE_INSERT
@p1 = ?,
@p2 = ?
</sql-insert>
</class>
Мы используем check="none"
из-за некоторых наследственных причин.
Вышеупомянутая хранимая процедура возвращает вставленный идентификатор в виде скаляра. Однако, когда мы фиксируем транзакцию NHibernate, возвращенный идентификатор не заполняется в экземпляре объекта, поэтому мы по-прежнему видим значение 0
в Id
имущество.
Как мы можем научить NHibernate, что возвращенный скаляр должен рассматриваться как вставленный идентификатор?
ОБНОВИТЬ
Я пытался использовать trigger-identity
генератор, который в моем понимании вида адресов это, но я не имел успеха, Id
по-прежнему остается 0
,