Hola Juan Te pido si podes poner el mapping de todas las clases que tengas y de la estructura de las tablas. Solo para entender un poco más donde puede estar el problema.
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.