E aí, galerinha do GUJ!
Tudo bem?
//Entidade
public class Pessoa
{
public long ID { get; set; }
public string Nome { get; set; }
public IEnumerable<Endereco> Enderecos { get; set; }
// Classe Endereco omitida...
}
// Classe de mapeamento
public class PessoaMapping : ClassMap<Pessoa>
{
public PessoaMapping()
{
Schema("dbo");
Table("PESSOA");
Id(m => m.ID, "ID")
.GeneratedBy
.Sequence("dbo.SEQ_PESSOA");
Map(m => m.Nome, "NOME")
.Insert()
.Update()
.Length(50)
.Not.Nullable();
HasMany(m => m.Enderecos)
.AsBag()
.Inverse()
.LazyLoad()
.KeyColumn("PESSOA");
}
}
//Classe de serviços
public class PessoaService
{
public IEnumerable<Pessoa> GetPessoas()
{
IEnumerable<Pessoa> pessoas;
using (ISession session = ConnectionFactory.CreateSession())
pessoas = session.CreateCriteria().List<Pessoa>();
return pessoas;
}
}
Beleza, ao enviar essa coleção de Pessoas, a coleção de Endereços será enviada carregada? Ou não, já que foi mapeada como LazyLoad? Será que o meu chamador do serviço consegue acessar a coleção de Endereços?
Valeu, galerinha,
fiquem com Deus! :D