Fluente NHibernate dados hierárquicos
-
05-07-2019 - |
Pergunta
Olá a todos. Pergunta rápida sobre a sintaxe Fluent. Eu tinha pensado que eu tinha esse baixo, mas eu estou recebendo uma falha estranho. Basicamente, eu tenho um tipo hierárquico da estrutura que eu estou tentando a persistir, e tudo parece funcionar, exceto quando eu faço um teste de integração real w / db.
Eu tenho um objeto Node que tem uma propriedade Parent, que é outro nó, e um campo de _As crianças apoiando uma propriedade somente leitura Crianças, que é uma coleção de nós também.
As propriedades alça correlacionando os relacionamentos, e o in-memory objetos teste muito bem. Quando eu recuperá-los a partir do repositório (um SQLite db na memória em meus testes), porém, crianças de qualquer Nó incluem-se, por algum motivo. Alguma idéia?
As minhas mapeamentos são feito principalmente w / AutoMap, mas eu tenho substituído o seguinte:
mapping.References(x => x.Parent);
mapping.HasMany(x => x.Children).Inverse().Access.LowerCaseField(Prefix.Underscore);
Eu também tentei w / o a chamada Inverse ().
Solução
Got-lo. O problema era que eu precisava dizer a coleção das crianças que campo Id para ligar para a chave estrangeira.
Eu mudei que o mapeamento para se parecer com isso:
mapping.HasMany(m => m.Children)
.Inverse()
.KeyColumn("ParentId")
.Access.CamelCaseField(Prefix.Underscore)
.Cascade.All()