Relacionamento one to many DUPLO - Fluet AP

05/02/2015

0

Tarde.

Tenho uma Classe Time:
 public class Time
    {
        public int TimeId { get; set; }
        public string Nome { get; set; }
        public virtual ICollection<Rodada> Rodadas { get; set; }
        public Time()
        {
            Rodadas = new List<Rodada>();
        }
    }


E uma classe Rodada:
 public class Rodada
    {
        public int RodadId { get; set; }
        public virtual Time Mandante { get; set; }
        public int MandanteId { get; set; }
        public virtual Time Visitante { get; set; }
        public int VisitanteId { get; set; }
        public DateTime DataHora { get; set; }
        public int? GolsMandante { get; set; }
        public int? GolsVisitante { get; set; }
        public DateTime LimiteApostas { get; set; }
        public virtual ICollection<Aposta> Apostas { get; set; }

        public int Vencedor()
        {
            if (GolsMandante.Value > GolsVisitante.Value)
            {
                return GolsMandante.Value;
            }
            else
            {
                return GolsVisitante.Value;
            }
                        
        }
        public bool IsEmpate()
        {
            return GolsMandante.Value == GolsVisitante.Value;
        }

        public Rodada()
        {
            Apostas = new List<Aposta>();
        }


A Rodada se relaciona duas vezes com Time(Mandante e Visitante).

Fiz o mapeamento da seguinte forma:

 modelBuilder.Entity<Rodada>()
                .HasRequired<Time>(r => r.Mandante)
                .WithMany(t => t.Rodadas)
                .HasForeignKey(r => r.MandanteId);

            modelBuilder.Entity<Rodada>()
                .HasRequired<Time>(r => r.Visitante)
                .WithMany(t => t.Rodadas)
                .HasForeignKey(r => r.VisitanteId);


Porém, lança exceção:
System.Data.Entity.Core.MetadataException: Schema specified is not valid. Errors: The relationship 'Intranet.Infra.Data.Context.Rodada_Mandante' was not loaded because the type 'Intranet.Infra.Data.Context.Time' is not available.

Idéias?

Obrigado
Bruno Costa

Bruno Costa

Responder

Posts

05/02/2015

Soeuseijothaz

Aparentemente não esta achando ''Intranet.Infra.Data.Context.Time'' is not available.

Sem ver a arquitetura do projeto fica impossível sugerir algo.

Você colocou as referências corretamente?

Você uso using nos namespaces?
Responder

05/02/2015

Bruno Costa

Sim,

Tenho outros projetos dentro dessa Solution que usam a mesma arquitetura.

O mapeamento que fiz está correto?
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar