Boa tarde, caso eu altere minha classe LojaContext para Public, ele dá a seguinte mensagem de erro:
Severity Code Description Project File Line Suppression State Error CS0053 Inconsistent accessibility: property type 'DbSet' is less accessible than property 'LojaContext.Produtos' Alura.Loja.Testes.ConsoleApp D:\Repositorio\Xamarin\Projects\EntityFrameWork\Alura.Loja\Alura.Loja.Testes.ConsoleApp\LojaContext.cs 8 Active
Caso eu deixe ela como Internal class LojaContext ele não dá mais o erro, compila e salva o produto normalmente.
Segue meus códigos:
using Microsoft.EntityFrameworkCore;
using System;
namespace Alura.Loja.Testes.ConsoleApp
{
internal 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;");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Alura.Loja.Testes.ConsoleApp
{
class Program
{
static void Main(string[] args)
{
//GravarUsandoAdoNet();
GravarUsandoEntity();
}
private static void GravarUsandoEntity()
{
Produto p = new Produto();
p.Nome = "Harry Potter e a Ordem da Fênix";
p.Categoria = "Livros";
p.Preco = 19.89;
using (var contexto = new LojaContext())
{
contexto.Produtos.Add(p);
contexto.SaveChanges();
}
}
private static void GravarUsandoAdoNet()
{
Produto p = new Produto();
p.Nome = "Harry Potter e a Ordem da Fênix";
p.Categoria = "Livros";
p.Preco = 19.89;
using (var repo = new ProdutoDAO())
{
repo.Adicionar(p);
}
}
}
}