hereda la clase TableGenerator, y llama al storeprocedure desde ahí, usando
ado.net puro.
http://nhforge.org/wikis/howtonh/creating-a-custom-id-generator-for-nhibernate.aspx

Cuidado por que ese store procedure es feo, y ES un cuello de botella.
Es un cuello de botella por que cada vez que se llama se tiene que bloquear
ese registro en el peor de los casos de bloqueara la página o tabla según el
motor, hasta que termine la transacción. Altamente no recomendable.

El 20 de mayo de 2010 09:00, Juan Cuello <[email protected]> escribió:

> Hola,
>
> Resulta que en un proyecto que tengo que hacer la clave primaria se
> genera llamando al siguiente procedimiento almacenado de SQL Server:
>
> CREATE  PROCEDURE dbo.nouID (@nom_taula varchar(50), @p_id int OUTPUT)
> AS
>
> UPDATE C_Identificador
> SET comptador = comptador + 1,
>    @p_id = comptador +1
> WHERE taula = @nom_taula
>
> Return 1
> GO
>
> Alguien podría decirme que tengo que poner en el mapeo?
>
>    <id name="ID" column="ID" type="System.Decimal" unsaved-value="0">
>      <generator class="..."/>
>      .....
>    </id>
>
> Muchas gracias
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a