Array
(
)

Relacionamento one to many DUPLO - Fluet AP

Bruno Costa
   - 05 fev 2015

Tarde.
Tenho uma Classe Time:
#Código
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:
#Código
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:
#Código
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

Jothaz
   - 05 fev 2015

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?

Bruno Costa
   - 05 fev 2015

Sim,

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

O mapeamento que fiz está correto?