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!