2
respostas

Deleção do Endereço sem erro.

Realizei os passos segundo exemplo do curso, poré vi q houve um coportamento diferente no momento de realizar a deleção, onde no curso mostrou haver um erro ao visualizar o cinema com o endereço deletado. Onde, no meu caso acabou permitindo. Revisei o codigo e vi que estada tudo de acordo com o exemplo do professor.

Exemplo do professor: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Meu exemplo: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Olá, Pablo!

Entendo que você está com uma dúvida em relação à deleção do endereço no seu projeto .NET 6. Pelo que entendi, você seguiu o exemplo do professor, mas está obtendo um comportamento diferente quando realiza a deleção do endereço.

No exemplo do professor, é mostrado que ao deletar o endereço, ocorre um erro ao visualizar o cinema com o endereço deletado. Porém, no seu caso, isso está sendo permitido.

Uma possível explicação para esse comportamento diferente é que o exemplo do professor utiliza o tipo de deleção em cascata, onde ao deletar o endereço, também são deletados o cinema e a sessão relacionados a ele. No entanto, é possível que você tenha modificado o tipo de deleção no seu código, fazendo com que a deleção do endereço não afete o cinema e a sessão.

Para evitar que a deleção em cascata ocorra futuramente, você pode modificar o tipo de deleção no código do seu projeto. No arquivo FilmeContext.cs, você pode definir o relacionamento entre o endereço e o cinema utilizando o método OnDelete com o parâmetro DeleteBehavior.Restrict. Dessa forma, a deleção do endereço não afetará o cinema.

Aqui está um exemplo de como fazer essa modificação:

builder.Entity<Endereco>()
    .HasOne(endereco => endereco.Cinema)
    .WithOne(cinema => cinema.Endereco)
    .OnDelete(DeleteBehavior.Restrict);

Após fazer essa modificação, você pode executar os comandos Add-Migration "Delete restrict" e Update-Database no console do gerenciador de pacotes para atualizar o banco de dados.

Com essas alterações, ao deletar o endereço, o cinema e a sessão relacionados a ele não serão afetados.

Espero ter ajudado! Bons estudos!

Obrigado, André!

Fiz isso, porém o erro persistiu, na verdade o erro acima no qual eu mandei foi logo após ter feito essas configurações.

Mas agradeço a atenção, se tiver outra solução estou ao seu dispor para o ouvir kk.