Gracias por tu respuesta Nestor. Creeme que llevaba tiempo busando
ejemplos de como llevar el Composite-Element de xml a Fluent pero no
lo habia lohgrado encontrar, ai que ahora le metere mano a ver en que
consiste. Saludos

El 06/09/11, Nestor Andres Rodriguez <[email protected]> escribió:
> Hola,
>
> Bien que resolviste tu problema.
>
>    1. Ten en cuenta que si en lugar de exponer un problema en concreto
>    colocas una ejemplificacion, se espera que esta sea consistente de manera
>    que si el problema se resuelve en la ejemplificacion tambien esta
> solucion
>    se pueda replicar en el problema especifico, de lo contrario entonces es
>    preferible exponer directamente el problema.
>    2. En cuanto a tu problema de relacion m-to-m, el codigo y el mapeo que
>    te coloque (que al parecer no lo verificaste), soluciona el problema que
>    describes pues te va a generar la BD con las restricciones que tienes
> pero
>    con el beneficio de tener un dominio orientado a objetos.
>    3. No utilizo Fluent pero te puedo asegurar que el mapeo que realize en
>    archivos xml se puede realizar igualmente en Fluent, lo unico extranio es
> el
>    composite-element, pero este
> link<http://stackoverflow.com/questions/2960493/fluent-nhibernate-how-does-one-translate-composite-element-tag-to-fnh>
> muestra
>    como se  hace con fluent.
>    4. Con respecto a tu discrepancia, creo que tu justificacion me da la
>    razon, en objetos no no existen el concepto de relaciones m-to-m ni
> llaves
>    foraneas; en objeto se manejan relaciones de asociaciones, agregaciones y
>    composiciones (uni-bidi) con unos valores de
> multiplicidad<http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/>
>    .
>
>
> Saludos,
> Nestor Andres Rodriguez
>
> 2011/9/6 Dennis Alba <[email protected]>
>
>> muchas gracias a todos por sus respuestas, ya resolvi con HQL.
>> Respecto a las opiniones de Nestor, recuerda amigo mio que en el post
>> anterior explicaba que lo que ponia no era mas que un ejemplo para que
>> pudieran entender lo que neecsitaba, pero que la realidad era mas
>> compleja. Estoy pensando en tablas? si un poco y el problema esta en
>> que una e las tareas que tengo es crear una estrucutura de clases tal
>> que cuando mapee se me genere una BD exctamente igual a una ya
>> existente. Por tal motivo cuando creo las clases y sus mapeos si debo
>> pensar en como hacerla para cumplir dicho objetivo. Ademas recuerda
>> que te explique que realmente tabajaba con FluentNHibernate y que esta
>> herramienta no posee todas las posibilidaes que brinda NHibernate con
>> la mapeo en XML por tanto debo adaptarme a cambios como usar una clase
>> que simule una tabla que sea la relacion m-n entre dos o mas entidades
>> en vez de usar el metodo HasManytoMany. Respecto a que en POO no
>> existe las relaciones m-n debo discrepar  de hecho, en lo que en BD
>> existen solo tres tipos de relaciones:
>> 1) 1-1
>> 2) 1-m
>> 3) m-n
>>
>> en POO existen mas
>> 1-      Uno a uno
>> •       Unidireccional
>> •       Bidireccional
>> 2-      Uno a muchos
>> •       Unidireccional
>> •       Bidireccional
>> 3-      Muchos a uno
>> •       Unidireccional
>> •       Bidireccional
>> 4-      Muchos a muchos
>> •       Unidireccional
>> •       Bidireccional
>> donde el Bidirecional del 2 y el 3 es el mismo por lo que tenemos un
>> total de 7 tipos de relaciones en POO, que por supuesto, estas 7 se
>> convierten en las 3 de BD.
>> Gracias a todos
>>
>> El 05/09/11, Carlos Peix <[email protected]> escribió:
>> > Creo que te va a costar muchisimo usar NH mientras sigas pensando tanto
>> > (tantisimo) en tablas. Casi me animaria a decir que puede resultarme mas
>> > facil persistir manualmente con ADO.NET y stored procedures y/o SQL
>> >
>> > De todas maneras, sugiero que pruebes las sugerencias de Nestor.
>> >
>> > ----------------------------------
>> > Carlos Peix
>> >
>> > 2011/9/5 Dennis Alba <[email protected]>
>> >
>> >> el ejemplo lo tengo puesto en el post que subi anteriormente "Update
>> >> con linq de NHibernate "
>> >> imagina que tengo 3 clases
>> >> CA
>> >> int IdA
>> >> string NombA
>> >>
>> >> CB
>> >> int IdB
>> >> string NombB
>> >>
>> >> C-AB
>> >> CA instA
>> >> CB instB
>> >> datetime Fecha
>> >>
>> >> estas son las tres clases, como puedes ver C-AB es una clase que tiene
>> >> dos entidades una de CA y otra de CB y no tiene un campo que sea la
>> >> llave primaria pues en el mapeo, estas instancias seran FK pero su
>> >> combinacion sera PK, osea esta clase creara una tabla que simula una
>> >> relacion m-m entre esas dos clases. Pues bien el update que necesito
>> >> ahcer es el siguiente
>> >> supon que tengo insertadas ya en las tablas los siguientes datos
>> >> CA IdA NombA
>> >>      1    ariel
>> >>      2    maria
>> >> CB idB NombB
>> >>      1    varon
>> >>      2   hembra
>> >>
>> >> C_AB  instA    instB   Fecha
>> >>            1          1       05/09/2011
>> >> como puedes ver la informacion en C-AB es que ariel(1 en instA) es
>> >> varon(1 en instB)
>> >> pero yo quiero actualizar esta tabla y que quede de la siguiente forma:
>> >>
>> >> C_AB  instA    instB   Fecha
>> >>            1          2       05/09/2011
>> >> ahora estaria diciendo que ariel(1 en instA) es hembra(2 en instB)
>> >> en linq 2 NHiberntae no puedo hacer esto pues el metodo Update que
>> >> tiene para que funcione se basa en las llaves primarias, pero es que
>> >> presisamente unas de las cosas que quiero modifica es las llaves
>> >> primarias, es por ello que necesito programar yo la query. Espero
>> >> entiendas el entorno del fenomeno
>> >> Gracias
>> >>
>> >>
>> >>
>> >> El 05/09/11, Carlos Peix <[email protected]> escribió:
>> >> > Que tipo de update querrias hacer?
>> >> >
>> >> > Nunca me he tenido esta necesidad, con un ORM. Podrias dar un
>> >> > ejemplo?
>> >> >
>> >> > ----------------------------------
>> >> > Carlos Peix
>> >> >
>> >> > 2011/9/5 Banzai <[email protected]>
>> >> >
>> >> >> Saludos tropa:
>> >> >> Dado que no he podido encontrar la forma en que por "linq 2
>> >> >> NHibernate" crear un UPDATE no me qeda mas remedio que hacer esta
>> >> >> consulta por HQL para seguir garantizando que estas operaciones sean
>> >> >> independientes del SGBD. Por tal motivo la pregunta es la siguiente.
>> >> >> Sabe alguien como se declara una consulta HQL (Tipo UPDATE) y a
>> >> >> quien
>> >> >> se debe llamar para que implemente y obtenga el resultado de dicha
>> >> >> consulta??
>> >> >> Muchas gracias a todos
>> >> >>
>> >> >> --
>> >> >> 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

-- 
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