Pergunta

Eu tenho uma situação onde eu tenho duas entidades que compartilham uma chave primária (Transaction e TransactionDetail). Eu tê-los mapeada usando muitos-para-um relacionamento de Transação para TransactionDetail e de TransactionDetail de Transação. detalhe da transação contém um registro para cada transação.

No entanto, quando eu criar um novo objeto detalhe da transação e adicioná-lo à transação, NHibernate tenta atualizar a tabela de Transação com uma consulta como 'update transação set id =? onde id =? com o mesmo valor para cada parâmetro.

Uma vez que o mapeamento está na coluna de chave primária, eu não quero que a transação seja atualizado. Na verdade, uma vez que a chave primária é uma coluna de identidade, eu recebo um erro ao tentar atualizar o valor. Como posso evitar que NHibernate de atualizar a tabela de transação quando um novo registro TransactionDetail é criado?

Foi útil?

Solução

Você pode querer olhar para os one-to-one ou join-table tipos de mapeamentos. meios many-to-one algo específico, e parece que o seu caso poderia caber melhor o perfil de um dos outros dois tipos de mapeamentos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top