7
我正在创建我的第一个asp.net mvc3应用程序。我使用的是代码优先方法。我有以下型号:在依赖类型'Bd.Domain.Entities.FootballGame'上找不到导航属性'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; }
}
而且我有下面的类:
public class EFDbContext : DbContext
{
public EFDbContext() : base("name=EFDbContext") { }
public DbSet<FootballTeam> FootballTeams { get; set; }
public DbSet<FootballGame> FootballGames { get; set; }
}
不幸的是,有一个例外:
的ForeignKeyAttribute财产 'FK_id_FootballGame' 上 类型'Bd.Domain.FootballGame'无效。在依赖类型 'Bd.Domain.FootballGame'上未找到导航 属性'FootballGame'。名称值应该是有效的 导航属性名称。
我试图删除这些行:
[ForeignKey("FootballGame")]
public virtual FootballGame PreviousFootballGame { get; set; }
然而,另一个例外出现:
的ForeignKeyAttribute财产 'id_FootballTeam_owner' 在类型 'Bd.FootballGame' 不是有效。在依赖类型'Bd.FootballGame'上未找到导航属性“FootballTeam” 。名称值 应该是有效的导航属性名称。
我期待着任何帮助。 问候,丹尼斯。
谢谢。你解决了我的问题。 – Denis 2013-02-23 06:35:27
和我也是..谢谢你。 – 2015-11-30 09:55:05
我不明白:虚拟属性必须作为数据库表列存在吗?设置虚拟“假”属性时出现以下错误: System.InvalidOperationException:无法将属性“类别”配置为导航属性。该属性必须是有效的实体类型,并且该属性应该具有非抽象的getter和setter。 – Luke 2017-05-21 16:06:00