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.