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

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