Many-to-Many com EF COre e AutoMapper

09/04/2020

12

Pessoal, tenho a seguinte situação aqui.
Tenho duas entidades, Treinamento e Departamento, sendo que o relacionamento delas é many to many e eu tenho uma terceira classe chamada TreinamentoDepartamento que trata isso.
Usei AutoMapper para realizar o mappeamento das entidades para DTOs que criei delas.
Quando realizo um POST com um JSON como esse:

{
    "titulo": "teste",
    "urlVideo": "teste",
    "urlArquivo": "teste",
    "departamentos": [
      {
        "nome": "TI",
        "treinamentos": []
      },
      {
        "nome": "CSA",
        "treinamentos": []
      }
    ]
}


Eu recebo um TreinamentoDTO certinho, com os respectivos departamentos encapsulados na propriedade de lista de departamentoDTO.
Ocorre que, quando realizo o mapeamento para a entidade Treinamento, eu perco essas referências sobre o departamento.
Minha classe/entidade Treinamento NÃO tem uma lista de departamentos, ela tem a já citada lista de TreinamentoDepartamento, que fica vazia quando é realizado esse mapeamento com o automapper.
Minha dúvida é, como devo salvar os departamentos contidos no treinamento?
Meu mappeamento não está funcionando corretamente e eu deveria inserir tudo no banco com um simples context.Treinamento.Add(treinamento) ou devo extrair os departamentos da TreinamentoDTO para uma variável e então salvar usando meu contexto?
Abaixo está o GIST com as classes citadas, se faltou algo, é só me avisar.

https://gist.github.com/christianmlima/02714ccb82fa5375d9f0479c02825c28
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar