Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Definir uma propriedade não nula no Entity Framework Core

Boa noite

Acabei de finalizar o curso Entity Framework Core: Banco de dados de forma eficiente e me ficou algumas duvidas a respeito da criação do campos na tabela.

Quando queremos fazer a migração da nossa alteração das classe(tabela) que estão sendo observadas pelo Entity utilizamos o Add-Migration nm_migra.

Onde é criado um arquivo de migração e ele contém essa parte de código:

        migrationBuilder.CreateTable(
            name: "Produtos",
            columns: table => new
            {
                Id = table.Column<int>(nullable: false)
                    .Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn),
                Categoria = table.Column<string>(nullable: true),
                Nome = table.Column<string>(nullable: true),
                Preco = table.Column<double>(nullable: false)
            },

Gostaria de saber oque exatamente é o nullable: true e se ele tem influência para deixar o campo Nome da tabela Produtos como not null assim como ele fez o ID que no caso é a PK.

Obrigado!

1 resposta
solução

Olá William!

O campo nullable:true realmente indica que o campo pode receber null. Um modo fácil de manipular essa propriedade é adicionar a anotação [Required] logo acima da do seu atributo, ex:

[Required]
public string Categoria { get; set; }

Todos os atributos que estiverem com essa anotação, serão criadas com not null.

Só lembrando que para usar anotações, precisa adicionar o namespace System.ComponentModel.DataAnnotations.

Espero ter ajudado!

Bons estudos!