Inquiridor
Bag nHibernate com key null

Pergunta
-
Olá,
Alguém sabe se é possível utilizar Bag do nHibernate com o Key Null?
Em uma tabela alguns registros possui varios registros relacionados, um para muitos, mas nem sempre, as vezes um regitro nao tera nehum.
Fiz o mapeamento por uma bag mas da erro de foreign key por que o campo na tabela relacionada as vezes estará nulo.
Existe alguma forma de trazer uma coleção de registro dessa forma que preciso.
Todas as Respostas
-
-
-
-
Classe que possui os registros pais:
public class Fatura
{
public virtual long Id { get; set; }
public virtual DateTime DtEmissao { get; set; }
public virtual decimal VlrTotal { get; set; }
public virtual Convenio Convenio { get; set; }
public virtual IList<Receber> Receber { get; set; }
public Fatura()
{
Receber = new List<Receber>();
}
}
Classe que possui os registros filhos:
public class Receber
{
public virtual long Id { get; set; }
public virtual Fatura Fatura { get; set; }
public virtual DateTime Pagamento { get; set; }
public virtual decimal Valor { get; set; }
public virtual decimal Juros { get; set; }
public virtual decimal Multa { get; set; }
public virtual decimal OutrosAcrescimos { get; set; }
public virtual decimal Desconto { get; set; }
}Mapeamento da classe pai:
public class FaturaMapping : ClassMapping<Fatura>
{
public FaturaMapping()
{
Table("FATURA");
Id(x => x.Id, x =>
{
x.Column("ID_FATURA");
});
Property(x => x.DtEmissao, x =>
{
x.Column("DTEMISSAO");
});
Property(x => x.VlrTotal, x =>
{
x.Column("VLRTOTAL");
});
ManyToOne(x => x.Convenio, x =>
{
x.Column("FK_CONVENIO");
x.NotNullable(true);
});
Bag(x => x.Receber, x =>
{
x.Key(y =>
{
y.Column("FK_FATURA");
y.NotNullable(false);
});
}, x => x.OneToMany());
}
}
- Editado Edmar Munhoz sexta-feira, 2 de outubro de 2015 18:33