11
respostas

Código não copila

Meu código não copilou, public DbSet Produtos { get; set; } acessibilidade inconsistente do tipo propriedade. Da erro em Produtos o qual da nome a tabela. Código igual ao do vídeo.

11 respostas

Olá v008,

faltou falar no DbSet qual a classe que ele terá que mapear com o banco:

public DbSet<Produto> Produtos {get; set;}

O meu também não funcionou.

Olá Liliane,

mas como está o seu código?

public DbSet<Produto> Produtos { get; set; }

Qual o erro de compilação que aparece? Você importou a classe produto?

A mesma coisa do colega ... acessibilidade inconsistente do tipo propriedade.

Manda o código completo da classe de contexto e da classe de produto para eu dar uma olhada, inclusive com os usigns.

using System;
using Microsoft.EntityFrameworkCore;


namespace Alura.Loja.Testes.ConsoleApp
{
    public class LojaContext : DbContext
    {
        public DbSet<Produto> Produtos { get; set; }


        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=LojaDB;Trusted_Connection=true;"); 
        }
    }
}
namespace Alura.Loja.Testes.ConsoleApp
{
    internal class Produto
    {
        public int Id { get; internal set; }
        public string Nome { get; internal set; }
        public string Categoria { get; internal set; }
        public double Preco { get; internal set; }
    }
}

Olá Liliane,

troca o modificador de acesso da classe Produto de internal para public. O problema é que a propriedade no lado do contexto é pública, mas a classe que ela usa tem um acesso menor de internal, provavelmente o erro vem disso.

Funcionou. Obrigada Lucas!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software