在依赖类型'Bd.Domain.Entities.FootballGame'上找不到导航属性'FootballGame'

时间:2013-02-22 20:27:24

标签: c# entity-framework ef-code-first

我正在创建我的第一个asp.net mvc3应用程序。我正在使用代码优先方法。我有以下型号:

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

不幸的是,有一个例外:

  

类型上属性'FK_id_FootballGame'的ForeignKeyAttribute   'Bd.Domain.FootballGame'无效。导航   属性'FootballGame'在依赖类型上找不到   'Bd.Domain.FootballGame'。 Name值应该是有效的   导航属性名称。

我试图删除这些行:

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

然而,出现另一个例外:

  

类型上属性'id_FootballTeam_owner'的ForeignKeyAttribute   'Bd.FootballGame'无效。导航属性'FootballTeam'   在依赖类型'Bd.FootballGame'上找不到。名称值   应该是有效的导航属性名称。

我期待着任何帮助。 此致,丹尼斯。

1 个答案:

答案 0 :(得分:9)

试试这个:

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