Te pregunto:  Porque extiendes de Identificacion? Yo creeria que no es
necesario, para eso tienes una tipificacion de la identificacion.
 Normalmente uno o extiende o tipifica, no ambas a menos que sea por una
razon que aun no hayas comentado.  En caso de necesitar ambas , creeria yo,
es necesario modificar tu estructura de persistencia.  O si no requires
extender la identificacion te funcionaria un <component> en el cliente.

Saludos,
Nestor Rodriguez

2010/12/7 Edgar Ramos <[email protected]>

> Nestor.
>
> Si tengo 3 clases que implementan IIdentificacion (Cedula, Ruc, Pasaporte),
> tendre 3 component ?, esto es correcto verdad ?
> Ya que PersonaJuridica puede aceptar cualquiera de estas 3 implementaciones
> como documento
>
> Saludos
>
> Edgar
>
> El 7 de diciembre de 2010 11:56, Nestor Rodriguez 
> <[email protected]>escribió:
>
>> Hasta donde yo veo necesitas hacer un 
>> component<http://nhforge.org/doc/nh/en/index.html#mapping-declaration-component>
>>  en
>> persona juridica para la Identificacion.   Y en el <component> haces un
>> <many-to-one> para apuntar a TipoIdentificacion.  De todas maneras es
>> importante que aclares cual es el problema que presentas y como has tratado
>> de mapearlo.
>>
>> Saludos,
>> Nestor Rodriguez
>>
>> 2010/12/7 Edgar Ramos <[email protected]>
>>
>>>  Gente un saludo
>>>
>>> Tengo la sigueinte clase
>>>
>>> public class PersonaJuridica : BaseEntity, ICliente
>>>     {
>>>         public virtual string NombreComercial { get; set; }
>>>         public virtual string RazonSocial { get; set; }
>>>         public virtual string Direccion { get; set; }
>>>         public virtual string Telefono { get; set; }
>>>
>>>         public virtual IIdentificacion Documento { get; set; }
>>>
>>>         public virtual string Descripcion {
>>>             get { return RazonSocial; }
>>>         }
>>>     }
>>>
>>> Para la propiedad public virtual IIdentificacion Documento { get; set; }
>>> , la cual puede ser de varios tipos aqui un ejemplo de un tipo
>>>
>>>  public class Cedula : IIdentificacion
>>>     {
>>>
>>>         #region Miembros de IIdentificacion
>>>
>>>         public bool EsValido() {
>>>             ....
>>>         }
>>>
>>>         public virtual string NumeroIdentificacion { get; set; }
>>>
>>>         public virtual TipoIdentificacion TipoIdentificacion { get; set;
>>> }
>>>
>>>         #endregion
>>>     }
>>>
>>> A su vez para la propiedad public virtual TipoIdentificacion
>>> TipoIdentificacion { get; set; }  aqui la clase
>>>
>>> public class TipoIdentificacion : BaseEntity
>>>     {
>>>         public virtual string Descripcion { get; set; }
>>>         public bool LogNatural { get; set; }
>>>         public bool LogJuridico { get; set; }
>>>         public bool LogConsumidorFinal { get; set; }
>>>     }
>>>
>>> Yo requiero tener una tabla de la siguiente forma
>>>
>>> PersonaJuridica
>>>
>>> Id, NombreComercial, RazonSocial, etc, IdentificacionID,
>>> NumeroIdentificacion
>>> 1   XYZ                       XYZ                    1
>>>    0408520096001
>>>
>>>
>>> TipoIdentificacion
>>>
>>> Id, Descripcion, LogNatural, LogJuridico
>>> 1  Cedula          1                0
>>> 2  Ruc               1               1
>>> 3  Pasaporte      1               0
>>>
>>> Gracias por sus comentarios
>>>
>>> Saludos
>>>
>>> Edgar
>>>
>>>  --
>>> Para escribir al Grupo, hágalo a esta dirección:
>>> [email protected]
>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>
>>
>>  --
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>>
>
>  --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a