7

私は最初のasp.netmvc3アプリケーションを作成しています。私はコードファーストの方法論を使用しています。私は次のモデルを持っています:

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; }
}

そして、私は次のクラスを持っています:

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

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

残念ながら、例外があります。

タイプ「Bd.Domain.FootballGame」のプロパティ「FK_id_FootballGame」のForeignKeyAttributeが無効です。ナビゲーションプロパティ「FootballGame」が依存型「Bd.Domain.FootballGame」で見つかりませんでした。Name値は、有効なナビゲーションプロパティ名である必要があります。

私はこれらの行を削除しようとしました:

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

ただし、表示される別の例外:

タイプ「Bd.FootballGame」のプロパティ「id_FootballTeam_owner」のForeignKeyAttributeが無効です。ナビゲーションプロパティ「FootballTeam」が依存型「Bd.FootballGame」で見つかりませんでした。Name値は、有効なナビゲーションプロパティ名である必要があります。

お役に立てれば幸いです。よろしく、デニス。

4

1 に答える 1

10

これを試して:

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; }
}
于 2013-02-22T20:40:36.450 に答える