Nestor una duda, podrias explicarme en que consiste el
composite-element, cual es su objetivo, realmente no me queda claro.
Gracias

El 07/09/11, Dennis Alba <[email protected]> escribió:
> 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