2013-02-22 12 views
7

Tworzę swoją pierwszą aplikację mvc3 asp.net. Używam pierwszej metodologii kodu. Mam następujące modele:Właściwość nawigacji "FootballGame" nie została znaleziona w zależnym typie "Bd.Domain.Entities.FootballGame"

public class FootballGame 
{ 
    [Key] 
    public Guid id_FootballGame { get; set; } 

    [ForeignKey("FootballGame")] 
    public Guid? FK_id_FootballGame { get; set; } 
    public virtual FootballGame PreviousFootballGame { get; set; } 

    [ForeignKey("FootballTeam")] 
    public Guid id_FootballTeam_owner { get; set; } 
    public virtual FootballTeam FootballTeamOwner { get; set; } 

    [ForeignKey("FootballTeam")] 
    public Guid id_FootballTeam_guest { get; set; } 
    public virtual FootballTeam FootballTeamGuest { get; set; } 
} 

public class FootballTeam 
{ 
    [Key] 
    public Guid id_FootballTeam { get; set; } 
    public string teamName { get; set; } 
} 

I mam następujące klasy:

public class EFDbContext : DbContext 
{ 
    public EFDbContext() : base("name=EFDbContext") { } 

    public DbSet<FootballTeam> FootballTeams { get; set; } 
    public DbSet<FootballGame> FootballGames { get; set; } 
} 

Niestety, istnieje wyjątek:

ForeignKeyAttribute na własność 'FK_id_FootballGame' typu "Bd.Domain.FootballGame" jest nieprawidłowa. Właściwość nawigacji "FootballGame" nie została znaleziona na zależnym typie: "Bd.Domain.FootballGame". Wartość Nazwa powinna być prawidłową nazwą właściwości nawigacji.

Starałem się usunąć te linie:

[ForeignKey("FootballGame")] 
public virtual FootballGame PreviousFootballGame { get; set; } 

Jednak inny wyjątek pojawić:

The ForeignKeyAttribute na własność 'id_FootballTeam_owner' typu 'Bd.FootballGame' nie jest ważny. Właściwość nawigacyjna "FootballTeam" nie została znaleziona w zależnym typie "Bd.FootballGame". Wartość Nazwa powinna być prawidłową nazwą właściwości nawigacji.

Oczekuję jakiejkolwiek pomocy. Pozdrawiam, Denis.

Odpowiedz

8

Spróbuj tego:

public class FootballGame 
{ 
    [Key] 
    public Guid id_FootballGame { get; set; } 

    public Guid? FK_id_FootballGame { get; set; } 
    [ForeignKey("FK_id_FootballGame")] 
    public virtual FootballGame PreviousFootballGame { get; set; } 

    public Guid id_FootballTeam_owner { get; set; } 
    [ForeignKey("id_FootballTeam_owner")] 
    public virtual FootballTeam FootballTeamOwner { get; set; } 

    public Guid id_FootballTeam_guest { get; set; } 
    [ForeignKey("id_FootballTeam_guest")] 
    public virtual FootballTeam FootballTeamGuest { get; set; } 
} 
+0

dziękuję. Rozwiązałeś mój problem. – Denis

+0

i moje też .. Dziękuję. –

+0

Nie rozumiem: czy właściwość wirtualna musi istnieć jako kolumny tabeli db? Podczas ustawiania wirtualnych "fałszywych" właściwości pojawia się następujący błąd: System.InvalidOperationException: Właściwość "Kategoria" nie może zostać skonfigurowana jako właściwość nawigacji. Właściwość musi być poprawnym typem jednostki, a właściwość powinna mieć nie abstrakcyjny program pobierający i ustawiający. – Luke

Powiązane problemy