Depois que alterei as propriedades da model pro DTO e apaguei "Id, os métodos "AdicionaFilme" e "RecuperaFilmesPorId" não reconhece "filmes.Id".
Depois que alterei as propriedades da model pro DTO e apaguei "Id, os métodos "AdicionaFilme" e "RecuperaFilmesPorId" não reconhece "filmes.Id".
Alterei o retorno do método de "void" para "IActionResult" e também não foi. A classe do modelo "Filme" está zerada, sem informação nenhuma, conforme feito no vídeo.
Olá, Matheus.
Tudo bem?
Pelo que você descreveu e pela imagem que você compartilhou, parece que o problema está relacionado ao mapeamento entre o CreateFilmeDto
e a entidade Filme
. A mensagem de erro indica que a classe Filme
não possui uma propriedade Id
, o que sugere que pode haver um problema na definição do modelo Filme
.
Verifica se você não apagou a propriedade "Id" do Model "Filme", no caso você só deve apagar o "Id" somente do DTO.
using System.ComponentModel.DataAnnotations;
namespace FilmesApi.Models;
public class Filme
{
[Key]
[Required]
public int Id { get; set; }
[Required(ErrorMessage = "O título do filme é obrigatório")]
public string Titulo { get; set; }
[Required(ErrorMessage = "O gênero do filme é obrigatório")]
[MaxLength(50, ErrorMessage = "O tamanho do gênero não pode exceder 50 caracteres")]
public string Genero { get; set; }
[Required]
[Range(70, 600, ErrorMessage = "A duração deve ter entre 70 e 600 minutos")]
public int Duracao { get; set; }
}
CreateFilmeDto
deve estar assim:using System.ComponentModel.DataAnnotations;
namespace FilmesApi.Data.Dtos;
public class CreateFilmeDto
{
[Required(ErrorMessage = "O título do filme é obrigatório")]
public string Titulo { get; set; }
[Required(ErrorMessage = "O gênero do filme é obrigatório")]
[StringLength(50, ErrorMessage = "O tamanho do gênero não pode exceder 50 caracteres")]
public string Genero { get; set; }
[Required]
[Range(70, 600, ErrorMessage = "A duração deve ter entre 70 e 600 minutos")]
public int Duracao { get; set; }
}
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.
Obrigado. Resolvido! No vídeo, me pareceu que todas as propriedades foram recortadas de Filme e coladas em CreateFilmeDto, deixando Filme vazio.