Как научить 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,

0 ответов

Другие вопросы по тегам