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 ().

Foi útil?

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()
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top