Hola Edgar, Por mi ya esta bien, sugiero que no te metas en mas complicaciones y dejes el VARCHAR(60) o algo mas abreviado, como sugiere Jose (el cordobes apurado), la solucion optima seria colocar un CHAR(3) y asegurarte de que todos los discriminadores ocupen 3 caracteres (total ese valor no lo ves mas que en el mapeo y podrias cambiarlo en el futuro sin impacto en tu aplicacion).
El usertype que sugiere Fabio lo dejaria para mas adelante como un technical debt (deuda tecnica: algo que por ahora funciona pero que seria bueno mejorar en el futuro). Muchas gracias ---------------------------------- Carlos Peix 2010/1/12 Edgar Ramos <[email protected]> > el discriminador puse de tipo <discriminator column="Tipo" > type="AnsiString(60)"/>, pero el error volvio a aparecer, si me > ayudas Carlos que mas tengo que hacer para probar > > voy a chequear el link de Fabio > > El día 12 de enero de 2010 13:59, Edgar Ramos <[email protected]> > escribió: > > este momento hago las pruebas, desde luego no faltaba mas > > > > cambio el campo a char(60), y en el archivo de mapeo hago > > type="AnsiStringFixedLength(60)" verdad !!! > > > > El día 12 de enero de 2010 13:01, Carlos Peix <[email protected]> > escribió: > >> Bueno, pero me basta con que NH no se confunda porque el graba un > "0123456" > >> y luego busca lo mismo cuando haces el query de una subclase pero, desde > la > >> base, le vuelve un "0123456 ". > >> Si NH, internamente, hace algun "".Equals(), sonamos. Me imagino que no > >> porque, caso contrario, nos habriamos enterado. > >> Edgar, en retribucion a la comunidad, podrias cambiar el tipo de dato en > la > >> columna de la BD de nuevo a CHAR(60) y contarnos si todo sigue > funcionando? > >> Gracias > >> ---------------------------------- > >> Carlos Peix > >> > >> 2010/1/12 Fabio Maulo <[email protected]> > >>> > >>> Si pero ojo que "0123456" != "0123456 " > >>> quien modifica el valor es el DB o tu clase, NH no lo toca. > >>> > >>> El 12 de enero de 2010 14:50, Carlos Peix <[email protected]> > >>> escribió: > >>>> > >>>> Ahhh, perfecto. > >>>> Graciassss > >>>> ---------------------------------- > >>>> Carlos Peix > >>>> > >>>> 2010/1/12 Fabio Maulo <[email protected]> > >>>>> > >>>>> usando: > >>>>> type="AnsiStringFixedLength(10)" > >>>>> le estas diciendo a NH que el type en el DB es CHAR(10). > >>>>> Además le estas diciendo a NH como va a funcionar ese campo y que si > >>>>> encuentra "0123456" en la propiedad, el valor del campo será "0123456 > " > >>>>> La respuesta a la pregunta es: Yes, you can > >>>>> > >>>>> El 12 de enero de 2010 14:20, Carlos Peix <[email protected]> > >>>>> escribió: > >>>>>> > >>>>>> Uh? Bueno, muy bien, pero aun me queda la duda. Seria bueno usar > CHAR > >>>>>> si se puede. Se puede? > >>>>>> Dale, escribi un poquitin mas, te espero mientras pongo el agua para > el > >>>>>> mate. > >>>>>> Grazie > >>>>>> ---------------------------------- > >>>>>> Carlos Peix > >>>>>> > >>>>>> 2010/1/12 Fabio Maulo <[email protected]> > >>>>>>> > >>>>>>> type="AnsiString" > >>>>>>> > >>>>>>> El 12 de enero de 2010 13:48, Carlos Peix <[email protected]> > >>>>>>> escribió: > >>>>>>>> > >>>>>>>> Hola Tano, > >>>>>>>> Esto quiere decir que no es recomendable usar campos CHAR para el > >>>>>>>> discriminator? (en estos campos SQLServer completa con espacios a > la derecha > >>>>>>>> pero creo que ya sabrias esto) > >>>>>>>> Es razonable que NH se confunda ya que graba un "Transferencia" y > >>>>>>>> obtiene un "Transferencia " pero tambien seria bueno que > NH no se > >>>>>>>> fuera de mambo con esto puesto que es bastante comun. > >>>>>>>> Por ultimo, segun creo, los indices sobre CHAR son mas eficientes > (en > >>>>>>>> velocidad de lookup, no en almacenamiento) que sobre VARCHAR y es > altamente > >>>>>>>> probable que esta columna sea indexada puesto que participa del > query, en > >>>>>>>> general. > >>>>>>>> Como siempre, le pertenezco... > >>>>>>>> Gracias > >>>>>>>> ---------------------------------- > >>>>>>>> Carlos Peix > >>>>>>>> > >>>>>> > >>>>>> -- > >>>>>> Para escribir al Grupo, hágalo a esta dirección: > >>>>>> [email protected] > >>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano > >>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> Fabio Maulo > >>>>> > >>>>> > >>>>> -- > >>>>> 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 > >>> > >>> > >>> > >>> -- > >>> Fabio Maulo > >>> > >>> > >>> -- > >>> 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
