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