C# 1对1关系EF两个外键错误
例外情况: 无法确定服务器之间关联的主体端 输入“Project.BusinessObjects.Photo”和 “Project.BusinessObjects.Student”。主要目的 必须使用 关系流API或数据注释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;
怎么了?我认为可以通过在其他类的键之上创建新的[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; }
}