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
