Estoy usando <bag>! bah, me lo hace ConfORM. Este es el mapeo:

  <class name="Cliente" table="Clientes">
    <id name="Id" type="Int32">
      <generator class="hilo" />
    </id>
    <property name="RazonSocial" />
    <property name="Cuit" />
    <property name="TieneAbono" />
    <property name="VencimientoDelAbono" />
    <bag name="Trabajos" access="field.camelcase" lazy="extra"
cascade="save-update, persist">
      <key column="IDCliente" />
      <one-to-many class="RegistroDeTrabajo" />
    </bag>
  </class>
  <class name="RegistroDeTrabajo" table="RegistroDeTrabajos">
    <id name="Id" type="Int32">
      <generator class="hilo" />
    </id>
    <many-to-one name="Cliente" column="IDCliente" />
    <property name="Inicio" />
    <property name="Fin" />
    <property name="TrabajosRealizados" />
  </class>

Y esta es la clase:

public class Cliente: BaseEntity
    {

public Cliente()
        {
            trabajos = new List<RegistroDeTrabajo>();
        }

        private IList<RegistroDeTrabajo> trabajos;

        public virtual string RazonSocial { get; set; }
        public virtual string Cuit { get; set; }

        public virtual bool TieneAbono { get; set; }
        public virtual DateTime? VencimientoDelAbono { get; set; }

        public virtual IEnumerable<RegistroDeTrabajo> Trabajos
        {
            get{ return trabajos; }
        }


        public virtual void AgregarTrabajo(DateTime inicio, DateTime fin,
string trabajoRealizado)
        {
            var trabajo = new RegistroDeTrabajoRemoto
                              {
                                  Cliente = this,
                                  Inicio = inicio,
                                  Fin = fin,
                                  TrabajosRealizados = trabajoRealizado
                              };

            trabajosRemotos.Add(trabajo);
        }
    }

2011/2/8 Fabio Maulo <[email protected]>

> si usas <bag> si
>
> 2011/2/8 Jose Selesan <[email protected]>
>
>>  Buenas! Tengo una duda con el funcionamiento de Lazy="Extra". De acuerdo
>> a lo que leí, me queda claro que si hago un Count o un Contains de la
>> colección, NH se las arregla para hacer las consultas en la DB pero sin
>> traer todos los elementos de la colección. Lo que tengo que hacer y no se si
>> con lazy "extra" se puede, es agregar al final de la colección una entidad
>> nueva, pero no quiero traer todos los elementos para simplemente hacer un
>> Add. Las pruebas que hice no fueron satisfactorias, pero tal vez estoy
>> haciendo algo mal... o no.
>>
>> Algo más de información: tengo una clase Cliente que tiene una propiedad
>> TrabajosRealizados (una colección con lazy="extra") y un método llamado
>> AgregarTrabajo (este es el que agrega al final de la colección)
>>
>> ¿Se puede hacer lo que quiero?
>>
>> Saludos
>>
>> --
>> Para escribir al Grupo, hágalo a esta dirección:
>> [email protected]
>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>
>
>
>
> --
> Fabio Maulo
>
>  --
> 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