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
