Hola Carlos, los pacientes siguen un modelo diferente. Lo que tenemos en
base de datos es el PERSONAL del Hospital, y, en otra tabla, los datos
extra del médico (que es, hasta donde necesitamos, la Matricula del mismo).
Así, lo que se pensó, es tener todo el personal en la tabla de personal
(Medicos, Enfermeros, Administrativos, Contadores, etc) y si se necesitan
datos extras para alguno de estos, se arma su correspondiente tabla con los
datos extra.

Los datos y su estructura parten desde otro sistema, el sistema en el que
estoy trabajando solo toma los datos y los usa de solo lectura, para crear
nuevos datos...

Gracias!!

Saludos Y ÉXITOS!!


--
Juan José Montes de Oca Arbós.

===========================
Web personal: http://juanjose.montesdeocaarbos.com.ar/blog/

El 9 de enero de 2018, 7:24, Carlos Peix <[email protected]> escribió:

> Hola JJ,
>
> No estoy respondiendo a tu pregunta. Disculpas!
>
> Pregunto, porque estás modelando de esa manera? Por ejemplo, cómo
> representas en ese modelo una persona que, además de médico, es paciente?
> Probablemente estés obligado a repetir sus datos como persona.
>
> Sugiero que mires ejemplos de modelar un rol.
>
> On Jan 8, 2018 4:43 PM, "Juan José Montes de Oca Arbós" <
> [email protected]> wrote:
>
>> Buenas grupo!!!
>>
>> En un proyecto en el que estoy trabajando, necesito mapear 2 tablas para
>> generar una sola entidad. No tengo mayores inconvenientes con eso (utilizo
>> JOIN), pero una de esas tablas tiene una relación contra otra tabla (como
>> una propiedad) y esa es la parte que no me doy cuenta como resolver.
>>
>> Si no mapeo la entidad que es una propiedad (para que la infiera NH), el
>> sistema me indica el siguiente error:
>>
>> *Missing column: TipoDocumentoId in Hospital.dbo.Medico*
>>
>> Si mapeo dicha entidad, el sistema me indica el siguiente error:
>>
>> *Could not determine type for: Domain.TipoDocumento, Domain,
>> Version=1.0.0.0, Culture=neutral, PublicKeyToken=null, for columns:
>> NHibernate.Mapping.Column(TipoDocumentoId)*
>>
>>
>> A nivel de base de datos, tengo una tabla que representa el Personal de
>> un hospital, con sus datos básicos (Nombre, Nro de documento, Tipo de
>> Documento, etc) y otra tabla que representa a los Médicos de dicho Hospital
>> con sus datos destacados (Matricula, y PersonalId).
>>
>> La entidad en C# que quiero representar es un médico, que tiene Nombre,
>> Nro Documento, Tipo de Documento y Matricula. El problema es que Tipo de
>> Documento es otra tabla, y no se como representarla en los mappings.
>>
>> Tengo estas tablas:
>>
>>
>> y este diagrama de clases
>>
>>
>> El mapeo que tengo es este:
>>
>>             Join("Personal", j =>
>>             {
>>                 j.Key(k => k.Column("Id"));
>>                 j.Property(o => o.Nombres, m =>
>> m.Type((IIdentifierType)TypeFactory.GetAnsiStringType(50)));
>>                 j.Property(o => o.Apellidos, m =>
>> m.Type((IIdentifierType)TypeFactory.GetAnsiStringType(150)));
>>                 j.Property(o => o.Sexo, m => { m.Column(a =>
>> a.SqlType("char")); });
>>                 j.Property(o => o.NumeroDocumento, m => {
>> m.Column("NumeroDocumento"); });
>>
>>
>>
>> *j.Property(o => o.TipoDocumento, m =>
>> {                    m.Column(a => { a.Name("TipoDocumentoId");
>> a.SqlType("bigint"); });                });*
>>             });
>>
>> Estoy medio perdido, pero no me doy cuenta como resolverlo, googleando y
>> leyendo documentación no encontré ningún ejemplo con un caso como este.
>>
>> Si elimino la propiedad TipoDocumento de la clase Medico, funciona bien
>> (obviamente sin tener esa propiedad disponible, que la necesito).
>>
>> ¿Alguna punta por donde puedo encontrar la solución?
>>
>>
>> GRACIAS!!!
>>
>>
>> --
>> Juan José Montes de Oca Arbós.
>>
>> --
>> --
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>> ---
>> Has recibido este mensaje porque estás suscrito al grupo
>> "NHibernate-Hispano" de Grupos de Google.
>> Para cancelar la suscripción a este grupo y dejar de recibir sus
>> mensajes, envía un correo electrónico a nhibernate-hispano+unsubscribe
>> @googlegroups.com.
>> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>>
> --
> --
> Para escribir al Grupo, hágalo a esta dirección: NHibernate-Hispano@
> googlegroups.com
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
> ---
> Has recibido este mensaje porque estás suscrito al grupo
> "NHibernate-Hispano" de Grupos de Google.
> Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a nhibernate-hispano+
> [email protected].
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>

-- 
-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
--- 
Has recibido este mensaje porque estás suscrito al grupo "NHibernate-Hispano" 
de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, 
envía un correo electrónico a [email protected].
Para obtener más opciones, visita https://groups.google.com/d/optout.

Responder a