Asp.net mvc MVC模型外键导航属性

Asp.net mvc MVC模型外键导航属性,asp.net-mvc,model,foreign-keys,code-first,Asp.net Mvc,Model,Foreign Keys,Code First,我目前有一个博客模型,其中我有一个博客作者的外键: [Required] [ForeignKey("BlogAuthorModel")] [Display(Name = "Author")] public int BlogAuthorId { get; set; } public BlogAuthorModel BlogAuthorModel { get; set; } 为了使外键正常工作,我不得不将BlogAuthorModel属性添加到类中 有人知

我目前有一个博客模型,其中我有一个博客作者的外键:

    [Required]
    [ForeignKey("BlogAuthorModel")]
    [Display(Name = "Author")]
    public int BlogAuthorId { get; set; }

    public BlogAuthorModel BlogAuthorModel { get; set; }
为了使外键正常工作,我不得不将BlogAuthorModel属性添加到类中

有人知道这是为了什么吗?当我尝试使用它时,它是空的-它应该自动完成还是我必须输入自己的代码才能使用外键来填充

更新

无论谁将此标记为重复,我的问题不是如何添加外键,而是如何填充BlogAuthorModel,结果是,如果将其设置为虚拟,它将自动填充:

    public virtual BlogAuthorModel BlogAuthorModel { get; set; }

这是EF类的导航属性。我认为您需要将ForiegnKey向下移动到实际对象,指向各自类中的外键字段

[Required]
[Display(Name = "Author")]
public int BlogAuthorId { get; set; }

[ForeignKey("BlogAuthorId")]
public BlogAuthorModel BlogAuthorModel { get; set; }

啊,它还需要博客作者id外键放在你说的地方,而不仅仅是虚拟的东西。谢谢你的邀请input@Pete很好,很高兴我能帮上忙。