Marcos

En la bdd (SQL Server2000), el campo descriminador es varchar de 60, y
si efectivamente se guarda el valor del discriminador con los
espacios, pero como puedes ver en el archivo de mapeo esta sin
espacios, por puede ser que cuando recupero todos mis objetos de la
bdd escoge el primero  "" PYTWINDOWS.Entities.Movimiento
(Discriminator was: 'Transferencia                           ') "",
pero si realizo una busqueda especifica por ejemplo solo los objetos
Transferencia 
session.CreateCriteria(typeof(Transferencia)).List<Transferencia>()
todo va bien, el problema es al llamar a todos los objetos sin
discriminar

El día 11 de enero de 2010 11:10, Marcos Mellibovsky
<[email protected]> escribió:
> Hola Edgar
> No tendras un registro metido o corregido  a mano que tiene mal el
> discriminador?
> fijate que en el error: PYTWINDOWS.Entities.Movimiento (Discriminator was:
> 'Transferencia ')
> hay un espacio  al final
>
> Ing. Marcos Mellibovsky
> ARSoft Consultoría Informática
> [email protected]
> 0351 155630801
> msn:[email protected]
>
>
>
> 2010/1/11 Edgar Ramos <[email protected]>
>>
>> Bueno no he podido solucionar mi problema, traere cada uno de los
>> objetos persistidos por separado, hay alguno forma de hacer esto
>> por ejemplo un where por discriminador ='Transferencia' or
>> discriminador = 'Produccion', etc para traer todos de la base de datos
>> y ponerlos en una lista
>>
>> gracias por los comentarios
>>
>> El día 8 de enero de 2010 14:38, Edgar Ramos <[email protected]>
>> escribió:
>> > He hecho la misma consulta pero especificando la clase contreta por
>> > ejemplo
>> >
>> > var mov = session.CreateQuery("from
>> > Transferencia").List<Transferencia>();
>> >
>> > y todo va bien me retorna todos los movimientos que son de tipo
>> > transferencia, el problema sigue dandose al llamar a
>> >
>> > var mov = session.CreateQuery("from Movimiento").List<Movimiento>();
>> > para que me retorno todos los objetos que heredan de Movimiento
>> >
>> > El día 8 de enero de 2010 12:09, Edgar Ramos <[email protected]>
>> > escribió:
>> >> Quise aplicar lo que dice este link
>> >>
>> >>
>> >> http://blog.schuager.com/2008/12/polymorphic-query-using-interfaces.html
>> >>
>> >> Pero yo ya tengo mi clase abstracta mapeada, obviamente apuntando a la
>> >> tabla especifica, cree otro archivo haciendo lo que sugiere el link y
>> >> como era de esperar nhibernate me dice que estoy duplicando el mapeo
>> >> Alguna otra sugerencia ?
>> >>
>> >>
>> >> El día 7 de enero de 2010 09:35, Edgar Ramos <[email protected]>
>> >> escribió:
>> >>> La consulta basicamente es esto
>> >>>
>> >>> var mov = session.CreateQuery("from Movimiento").List<Movimiento>();
>> >>>
>> >>> Movimiento es la clase abstracta de la cual heredan movimientos
>> >>> especificos como Transferencia, Produccion, Ventas, etc
>> >>>
>> >>> Este momento estoy leyendo el link que German envio, gracias por toda
>> >>> la ayuda
>> >>>
>> >>> El día 6 de enero de 2010 19:05, José F. Romaniello
>> >>> <[email protected]> escribió:
>> >>>> mostra como haces la consulta
>> >>>>
>> >>>> El 6 de enero de 2010 20:24, Edgar Ramos <[email protected]>
>> >>>> escribió:
>> >>>>>
>> >>>>> Gracias por la gentil ayuda
>> >>>>>
>> >>>>> He utilizado la siguiente estrategia de herencia Table Per Subclass
>> >>>>> Hierarchy, los objetos los he podido grabar en la base de datos sin
>> >>>>> problemas,
>> >>>>>
>> >>>>> Mi tabla almacena movimientos pudiendo ser estos Transferencias,
>> >>>>> Ventas, Ingresos, etc, y precisamente este es su discriminador,
>> >>>>> requiero mostrar todos los movimientos realizados en una fecha
>> >>>>> especifica, pero obtengo el siguiente mensaje de error
>> >>>>>
>> >>>>> Object with id: 10 was not of the specified subclass:
>> >>>>> PYTWINDOWS.Entities.Movimiento (Discriminator was: 'Transferencia ')
>> >>>>>
>> >>>>> Para cualquier fecha (una y solo una fecha) a buscar movimientos
>> >>>>> obtendre un promedio de 20 movimientos no mas
>> >>>>>
>> >>>>> Necesariamente tengo que estar haciendo algo mal, alguna idea
>> >>>>>
>> >>>>> --
>> >>>>> 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