Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

LojaEF Atualizando Banco

Bom dia,

no exercicio 4 quando tento colocar o seguinte metodo na classe EntidadesContext da o seguinte erro...

Error 1 'LojaEF.EntidadesContext.OnModelCreating(System.Data.Entity.DbModelBuilder)': cannot change access modifiers when overriding 'protected' inherited member 'System.Data.Entity.DbContext.OnModelCreating(System.Data.Entity.DbModelBuilder)' C:\Users\akatz\Documents\Visual Studio 2013\Projects\LojaEF\LojaEF\EntidadesContext.cs 17 30 LojaEF

abaixo o codigo:

using LojaEF.Entidades;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LojaEF
{
    public class EntidadesContext: DbContext
    {
        public DbSet<Usuario> Usuarios { get; set; }

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

        public override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            var usuarioBuilder = modelBuilder.Entity<Usuario>();
            // configurações aqui!
            usuarioBuilder.ToTable("tbl_Usuarios");
            usuarioBuilder.Property(usuario => usuario.Nome)
                      .HasColumnName("col_Nome");
            usuarioBuilder.Property(usuario => usuario.Senha)
                      .HasColumnName("col_Senha");
        }

    }
}

o que faço para corrigir esse erro?

2 respostas
solução!

Oi Alex

O problema é que quando vamos sobrescrever um método no C# não podemos mudar sua visibilidade. Como o OnModelCreating é um método protected, o override também precisa ser protected:

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            var usuarioBuilder = modelBuilder.Entity<Usuario>();
            // configurações aqui!
            usuarioBuilder.ToTable("tbl_Usuarios");
            usuarioBuilder.Property(usuario => usuario.Nome)
                      .HasColumnName("col_Nome");
            usuarioBuilder.Property(usuario => usuario.Senha)
                      .HasColumnName("col_Senha");
        }

Oi Alex

O seu problema foi resolvido?