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
