perdon habia usado Table per subclass

On 25 ago, 11:01, Diego Mijelshon <[email protected]> wrote:
> Discriminator *ES* table per class hierarchy.
>
>     Diego
>
> 2010/8/25 julio maldonado <[email protected]>
>
> > ya habia probado con Table per class hierarchy pero no lo pude
> > solucionar.
> > ahora probare usando discriminador.
>
> > On 24 ago, 13:20, Diego Mijelshon <[email protected]> wrote:
> > > No le estás indicando a NHibernate en ningún lugar cómo manejar las
> > > subclases.http://nhforge.org/doc/nh/en/index.html#inheritance
>
> > >     Diego
>
> > > 2010/8/24 julio maldonado <[email protected]>
>
> > > > Hola tengo la clase agente y 2 subclases agente1 y agente2.
> > > > todo agente es agente1 o agente2
> > > > agente1 tiene un Legajo que es una propiedad
> > > > agente2 tiene un Legajo o varios
> > > > el tema es que cuando traigo un agente quiero que me traiga los datos
> > > > del Agente1 o Agente2 segun corresponda.
> > > > probe hacerlo con subclases y con interface sin exito por cierto.
> > > > Alguna sugerencia?
>
> > > > *********************** agente ************************
>
> > > >  <class name="Agente"    table="Agente" lazy="false">
> > > >    <id name="Id"  column="IdAgente">
> > > >      <generator class="native" />
> > > >    </id>
> > > >    <discriminator column="IdDiscriminador" type="String"/>
>
> > > >    <property name="FechaBaja"                    not-null="false"/>
> > > >    <property name="FechaInicioActividad" />
> > > >    <property name="FechaFinActividad"            not-null="false"/>
> > > >    <property name="Usuario"                      not-null="true"/>
> > > >    <property name="Fecha"                        not-null="true"/>
> > > >    <property name="UsuarioModificacion"  />
> > > >    <property name="FechaModificacion"    />
>
> > > >    <many-to-one name ="Persona" column ="IdPersona" />
> > > >    <many-to-one name="DomicilioParticular" not-null="true"
> > > > column="IdDomicilioParticular"
>
> > > > class="mds.general.core.domain.entidades.Domicilio" />
> > > >    <many-to-one name="DomicilioLaboral"    not-null="true"
> > > > column="IdDomicilioLaboral"
>
> > > > class="mds.general.core.domain.entidades.Domicilio"/>
>
> > > > ***************************** Agente1
> > > > *************************************
>
> > > > <class name="Agente1" table="Agente1">
> > > >    <id name="Id" column="IdAgente1">
> > > >      <generator class="native" />
> > > >    </id>
>
> > > >    <property name="Legajo"            column="Legajo"            not-
> > > > null="true"  />
>
> > > >    <many-to-one name="Agente"         column="IdAgente"          not-
> > > > null="true"  />
> > > >    <many-to-one name="Oficina"        column="IdOficina"         not-
> > > > null="true"  />
> > > >    <many-to-one name="Categoria"      column="IdCategoria"       not-
> > > > null="true"  />
> > > >    <many-to-one name="RegimenHorario" column="IdRegimenHorario"  not-
> > > > null="true"  />
> > > >    <many-to-one name="Agrupamiento"   column="IdAgrupamiento"    not-
> > > > null="true"  />
> > > >    <many-to-one name="Planta"         column="IdPlanta" />
>
> > > > ***************************** Agente2
> > > > *************************************
>
> > > >        <class name="Agente2" table="Agente2">
> > > >                <id name="Id" column="IdAgente2">
> > > >                        <generator class="native" />
> > > >                </id>
> > > >                <property name="Reserva"/>
> > > >                <property name="Legajo"  />
> > > >                <property name="CantidadHoras" />
> > > >                <property name="RegistraAsistencia" />
>
> > > >                <many-to-one name="Asignacion"
> >  column="IdAsignacion"
> > > > />
> > > >                <many-to-one name="Agente"            column="IdAgente"
> > not-
> > > > null="true"  />
> > > >                <many-to-one name="Reemplazo"
> > column="IdReemplazo"
> > > > />
> > > >                <many-to-one name="PenaDisciplinaria"
> > > > column="PenaDisciplinaria" />
>
> > > >                <bag name="Oficinas" lazy="true"
> > cascade="all-delete-orphan"
> > > > inverse="false">
> > > >                        <key column="Id2" />
> > > >                        <one-to-many class="Oficina" />
> > > >                </bag>
>
> > > >        </class>
>
> > > > ******************************** clase Agente1
> > > > *****************************
> > > > public class Agente1 : Agente
>
> > > >        private int _id;
> > > >        private string _legajo;
> > > >        private Oficina _oficina;
> > > >        private Categoria _categoria;
> > > >        private RegimenHorario _regimenHorario;
> > > >        private Agrupamiento _agrupamiento;
> > > >        private Planta _planta;
>
> > > > ******************************** clase
> > > > Agente2*****************************
>
> > > >  public class Agente2
> > > >    {
> > > >        #region Variables
>
> > > >       private int _id;
> > > >       private Asignacion _asignacion;
> > > >       private Agente _agente;
> > > >       private TipoDeDocente _tipoDeDocente;
> > > >       private Reemplazo _reemplazo;
> > > >       private PenaDisciplinaria _penaDisciplinaria;
> > > >       private bool _reserva;
> > > >       private string _legajo;
> > > >       private int _cantidadHoras;
> > > >       private bool _registraAsistencia;
> > > >       private IList<Oficina> _oficinas;
>
> > > > --
> > > > 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