Ah, pregunta... Ojo que si vas a usar el algoritmo del HiLo, no vayas a
estar usando por otro lado el sp que me mostrate en el primer mail. Por que
vas a tener choques.


El 20 de mayo de 2010 11:53, José F. Romaniello
<[email protected]>escribió:

> Estas un poco sonado, la mejor forma de hacerlo sería utilizar esa tabla
> como tabla de HiLo, y utilizar bigint = int64 = long.
> Tal vez con un bajo Hi, pero ahí como que me pierdo en la teoría.
>
> Creo que para hacer eso, vas a tener que heredar TableHiLoGenerator y pisar
> algunos métodos.
>
> Te recomiendo mirar este, que hizo algo parecido, pero en vez de tener row
> por entity, tenia column por cada entity.. pero a los fines es parecido lo
> que deberías hacer:
> http://stackoverflow.com/questions/1345754/nhibernate-hilo-new-column-per-entity-and-hilo-catches
>
> El 20 de mayo de 2010 11:39, Juan Cuello <[email protected]>escribió:
>
> El tipo es INT:
>>
>> CREATE TABLE [dbo].[C_Identificador] (
>>            [taula] [varchar] (40) COLLATE
>> SQL_Latin1_General_CP1_CI_AS NOT NULL ,
>>            [comptador] [int] NOT NULL
>> ) ON [PRIMARY]
>>
>> Mejor no tener demasiados huecos, aunque el id es interno.
>>
>>
>> On 20 mayo, 16:33, José F. Romaniello <[email protected]> wrote:
>> > Que tipo de dato es int o bigint?
>> > Podes tener huecos grandes en la numeración?,
>> > es decir..... que para una tabla saltes del 1000 al 3000 por decir?
>> >
>> > El 20 de mayo de 2010 11:31, Juan Cuello <[email protected]>
>> escribió:
>> >
>> >
>> >
>> >
>> >
>> > > Como harías la misma funcionalidad con esa tabla tal cual?
>> >
>> > > Me tengo que ceñir a esa tabla...
>> >
>> > > On 20 mayo, 15:51, José F. Romaniello <[email protected]> wrote:
>> > > > 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-n.
>> ..
>> >
>> > > > 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
>> >
>> > > --
>> > > 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
>>
>> --
>> 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