Erro de inconsistência estranho

18/08/2013

Que erro é esse
Inconsistent accessibility: property type 'System.Data.Entity.DbSet<MP.DAO.TB_Afastado>' is less accessible than property 'MP.DAO.Contexto.AfastadoContexto' D:\Projetos_2012\MP\MP\DAO\Contexto.cs

Minhas classes abaixo de Contexto e POCO

public class Contexto
    {
        public DbSet<TB_Afastado> AfastadoContexto { get; set; }
        public DbSet<TB_Dupla> DuplaContexto { get; set; }
        public DbSet<TB_ALUNO_ESTUDO> AlunoEstudoContexto { get; set; }
        public DbSet<TB_Grupo> GrupoContexto { get; set; }
        public DbSet<TB_Membro_Grupo> MembroGrupoContexto { get; set; }
    }


[Table("TB_Dupla")]
    class TB_Dupla
    {
        [Key, DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int ID_Dupla { get; set; }

        //[ForeignKey("ID_Membro_Grupo")]
        //public int ID_Membro_Grupo { get; set; }

        public string NM_Dupla1 { get; set; }

        public string NM_Dupla2 { get; set; }

        public virtual TB_MEMBRO_GRUPO ID_Membro_Grupo { get; set; }
    }

Apenas uma classe POCO para exemplificar

Pjava

Respostas

19/08/2013

Tiago Currículo

Pela mensagem de erro, pode ser por causa do modificador de acesso, sugiro que coloque o public nessa propriedade que é menos acessível.
Responder Citar

19/08/2013

Joel Rodrigues

Verifique se a classe TB_Afastado (e as demais TB_AlgumaCoisa) estão como public.
Responder Citar

19/08/2013

Pjava

Então, da classe Contexto retirei o public e não deu mais o erro. O que passa é pq não com o public? Alguém me disse para eu criar uma interface, bem pode até ser. O que eu estou tentando conseguir é um CRUD com Code First. Bem, outra coisa já falada em outro post. A versão do Entity que aparece nas referências é a 4.0.0 e eu instalei a 5.0.0 pelo NuGet. Estou tendo algumas dificuldades com isso.
Responder Citar

19/08/2013

Pjava

Pessoal, um colega fez uma observação e eu não havia percebido. Minhas classes POCO não estão como public. Voleti os modificadores public para a Classe de Contexto e adicionei o modificador public em todas as minhas classes e agora funcionou.
Responder Citar

19/08/2013

Joel Rodrigues

Foi o que eu disse, verificar se as TB_AlgumaCoisa estavam public, pois caso não estivessem, você estaria expondo de forma pública um objeto de um tipo que não é público.

Estou marcando o tópico como Concluído então.
Responder Citar

19/08/2013

Pjava

Joel, realmente vc acertou. Só que quando eu peguei em outro fórum a resposta, passei batido no seu Post, cara, foi mal. Mas atribuo essa resposta ao seu post também.
Responder Citar

19/08/2013

Joel Rodrigues

Joel, realmente vc acertou. Só que quando eu peguei em outro fórum a resposta, passei batido no seu Post, cara, foi mal. Mas atribuo essa resposta ao seu post também.
Que é isso, amigo. Não estou exigindo reconhecimento não rsrsrs
Abraço.
Responder Citar