Hola Juan

Te pido si podes poner el mapping de todas las clases que tenga relación 
con lo que querés hacer y de la estructura de las tablas correspondientes. 
Así podemos tener un panorama completo.

Saludos.

El lunes, 8 de enero de 2018, 16:43:10 (UTC-3), Juan José Montes de Oca 
Arbós escribió:
>
> 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+unsubscr...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.

Responder a