C# 1对1关系EF两个外键错误

C# 1对1关系EF两个外键错误,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,例外情况: 无法确定服务器之间关联的主体端 输入“Project.BusinessObjects.Photo”和 “Project.BusinessObjects.Student”。主要目的 必须使用 关系流API或数据注释 怎么了?我认为可以通过在其他类的键之上创建新的[key]数据注释来解决这个问题。像这样: public class Picture { [Key] public int Id { get; set;

例外情况:

无法确定服务器之间关联的主体端 输入“Project.BusinessObjects.Photo”和 “Project.BusinessObjects.Student”。主要目的 必须使用 关系流API或数据注释


怎么了?

我认为可以通过在其他类的键之上创建新的[key]数据注释来解决这个问题。像这样:

    public class Picture
        { 
            [Key]
            public int Id { get; set; }

            public int NewsId { get; set; }
            [ForeignKey("NewsId")]
            public virtual News News { get; set; }

            public int PostId { get; set; }
            [ForeignKey("PostId")]
            public virtual Post Post { get; set; }        
        }

    public class News
        {
            public int Id { get; set; }
            public virtual Picture Picture { get; set; }
        }

public class Post
    {
        public int Id { get; set; }
        public virtual Picture Picture { get; set; }
    }

您发布了错误的源代码,因为您的代码示例没有Advantage类型。
public class Picture
{ 
    [Key]
    public int Id { get; set; }

    [ForeignKey("News")]
    public int NewsId { get; set; }
    public virtual News News { get; set; }

    [ForeignKey("Post")]
    public int PostId { get; set; }        
    public virtual Post Post { get; set; }        
}

public class News
{
    [Key]
    public int Id { get; set; }
    public virtual Picture Picture { get; set; }
}

public class Post
{
    [Key]
    public int Id { get; set; }
    public virtual Picture Picture { get; set; }
}