Si podria ser un <map>, pero la pregunta mas alla de como lo mapeas a tablas es como lo modelaste en tu negocio ?. Ademas, que tipos de datos vas a almacenar? son todos string? o numeros tambien ?
2010/11/23 Fabio Maulo <[email protected]> > o talz una mas simple y comunacha <map> > > 2010/11/23 Fabio Maulo <[email protected]> > > dynamic-componets or dynamic-entities or schema-less-component >> >> 2010/11/23 tolemaC <[email protected]> >> >>> Nestor el usuario se define sus propios campos para cada tipo de >>> >>> expediente, tengo una tabla TipoExpediente con su Id, su Nombre y >>> Descripción, el usuario puede crear nuevos tipos. Luego tengo la tabla >>> de Expedientes donde hay un campo IdTipo, al crear el expediente el >>> usuario selecciona un tipo. Entonces a la hora de editar dicho >>> expediente hay unos datos adicionales que se asocian al tipo en >>> concreto que el usuario a creado. >>> >>> Para hacer "table per hierarchy" debería prever todos los tipos que el >>> usuario se puede crear, eso es inviable. >>> >>> Lo único que se me ocurre es montarme un EAV (Entidad Atributo Valor) >>> por un lado crearme una tabla con la descripción de los datos >>> asociados al tipo con: IdTipo, NombreCampo >>> Y por otro lado una tabla para almacenar los valores con: Id >>> Expediente, Nombre Campo, Valor >>> >>> Miraré otra vez el dynamic-component, pero por lo que he visto >>> necesitas conocer cuales serán los campos. >>> >>> >>> On 23 nov, 20:16, Nestor Rodriguez <[email protected]> wrote: >>> > Aunque no entiendo del todo tu problema sobre todo cuando dices: >>> > *"No me vale el tener que crear una entidad Expediente para cada "Tipo >>> > de Expediente"*" >>> > Te recomiendo que verifiques si un dynamic-component se aplica a tu >>> caso >>> > donde las propiedades dinamicas son guardadas en un diccionario y en la >>> BD >>> > son columnas de la tabla. Sin embargo creo que si tienes diferentes >>> tipos >>> > de expedientes deberias tenerlos como clases que extienden de una >>> abstracta >>> > o interfaz TipoExpediente y mapearlo en una herencia "table per >>> hierarchy". >>> > >>> > Saludos, >>> > Nestor Rodriguez >>> > >>> > 2010/11/23 tolemaC <[email protected]> >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > > Hola de nuevo. >>> > >>> > > Tengo algo en mente que no tengo muy claro como plantearlo para >>> > > trabajar con NHibernate y me gustaría me diesen su opinión. >>> > >>> > > Tengo un caso donde me haría falta que ciertas entidades tuvieran >>> > > campos dinámicos. >>> > >>> > > Por ejemplo en mi aplicación hay una entidad para los Expedientes, >>> > > dichos expedientes tienen una propiedad que es el "Tipo de >>> Expediente" >>> > > y los usuarios son libres de crear los tipos de expedientes que >>> > > quieran. Aquí es donde surge una particularidad, resulta que cada >>> tipo >>> > > de expediente que los usuarios se crean pueden tener unos datos >>> > > adicionales, por ejemplo un expediente de tipo "Obra o servicio" >>> tiene >>> > > campos adicionales como es el "Contratista" que realiza la obra o >>> > > servicio, un expediente de tipo "Sanción a empleado" tiene un dato >>> > > asociado que es el Empleado sancionado, ... y así sucesivamente. >>> > >>> > > No me vale el tener que crear una entidad Expediente para cada "Tipo >>> > > de Expediente", pues el usuario debe poder crearse nuevos tipos de >>> > > expediente cuando quiera sin mi intervención y ademas al tipo de >>> > > expediente le debe poder relacionar esos datos/campos/propiedades >>> > > extra. >>> > >>> > > Se os ocurre como plantear este tema usando NHibernate? >>> > >>> > > -- >>> > > 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 >>> >> >> >> >> -- >> Fabio Maulo >> >> > > > -- > Fabio Maulo > > -- > 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
