Hola Carlos, el namespace es el mismo que en Medico.

De hecho, también probé de mapear la clase Medico contra la tabla Personal,
y el mapping funciona bien, devolviendo los objetos con sus Tipos de
documento... lo que me lleva a pensar que es algo que tengo mal declarado
en el mapping del Join.



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

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

El 9 de enero de 2018, 22:49, Carlos Peix <carlos.p...@gmail.com> escribió:

> Hola JJ,
>
> Verificaste el namespace del al clase TipoDocumento?
>
> ----------------------------------
> Carlos Peix
>
> 2018-01-08 16:43 GMT-03:00 Juan José Montes de Oca Arbós <
> juanjose.montesdeocaar...@gmail.com>:
>
>> 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:
>> 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+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+
> unsubscr...@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+unsubscr...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Responder a