我试图在非主列上使用外键,这是我的模型。 它的一对多关系。问题可以有多个答案。但答案只有问题。
用于存放用户问题的模型:
public class QQuestions
{
public QQuestions()
{
Answers = new List<QAnswers>();
}
public int Id { get; set; }
public int QId { get; set; }
public string QuestionContext { get; set; }
public virtual ICollection<QAnswers> Answers { get; set; }
}
以及持有用户答案的模型:
public class QAnswers
{
public int Id { get; set; }
public int QId { get; set; }
[ForeignKey("QId")]
public QQuestions QQuestions { get; set; }
public string AnswerContext { get; set; }
}
但是当我尝试在sql中插入数据时,我收到了这个错误:
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_dbo.QAnswers_dbo.QQuestions_QId". The conflict occurred in database "ResaleJadvali", table "dbo.QQuestions", column 'Id'.
我做错了什么,我该如何解决这个问题。 谢谢。
答案 0 :(得分:0)
EF尚未将非pk候选键识别为外键的目标(EF工作项位于此处:https://entityframework.codeplex.com/workitem/299) - 您必须在外键中引用相关实体的主键。 / p>