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

Responder a