ASP.NET MVC EF无法确定关联的主要结束

时间:2015-07-13 14:57:28

标签: c# asp.net-mvc entity-framework

我在使用Entity Framework时遇到了一些关联问题。虽然还有一些关于我无法使其发挥作用的其他帖子。

public class BaseJobOffer : IEntity
{
    [Key, ForeignKey("File")]
    public int Id { get; set; }
    public string Name { get; set; }
    public int FileId { get; set; }
    public File File { get; set; }
}
public class File
{
    public int Id { get; set; }
    public string FileName { get; set; }
    public string ContentType { get; set; }
    public byte[] Content { get; set; }
    public Enums.FileType FileType { get; set; }
    public int JobOfferId { get; set; }
    public virtual BaseJobOffer JobOffer { get; set; }
}

错误说: 运行所选代码生成器时出错:

  

'无法检索Model.JobOffer的元数据'。无法确定   类型之间关联的主要结束   'Model.BaseJobOffer'和'Model.File'。这个的主要目的   必须使用以下任一方式显式配置关联   关系流畅的API或数据注释。'

1 个答案:

答案 0 :(得分:1)

请参阅有关ForeignKey属性用法的文章http://www.entityframeworktutorial.net/code-first/foreignkey-dataannotations-attribute-in-code-first.aspx

ForeignKey属性应位于ForeignKey属性或ForeignKeyID属性

public class BaseJobOffer : IEntity
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }

    [ForeignKey("File")
    public int FileId { get; set; }

    //or 
    [ForeignKey("FileId")
    public File File { get; set; }
}