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

Responder a