NHibernate custom insert
От: D.Triton Украина  
Дата: 24.06.08 09:39
Оценка:
Добрый день, господа.

Какой генератор следует использовать в маппинге объекта,
если вставка объекта в таблицу реализуется через хранимую процедуру и там-же происходит генерация первичного ключа?

Если я использую:

<class name="AST.PartnerSite20.Core.Domain.User, AST.PartnerSite20.Core.Dao">
        <id name="UserId" type="System.Int32" column="UserId" unsaved-value="0">
            <generator class="assigned"/>
        </id>
        <property name="ClientId" type="System.Int32" not-null="true" />
    ......
                 <sql-insert check="none">
            exec up_User_i @ClientId=?, @Login=?, @FirstName=?, @LastName=?, @Email=?, @Password=?, @UserId=?
        </sql-insert>

В up_User_i параметр @UserId является out параметром

То Id-шник не ассигнится.

Если поставить <generator class="identity"/> — тогда вызывается "прямой" insert в таблицу и затем выполняется select SCOPE_ISENTITY()

А это не возможно, т.к. нет прав на таблицы/вьюхи.

Кто и как решал данную проблему?

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.