C# 与EF6中非键列的关系

C# 与EF6中非键列的关系,c#,sql,entity-framework,ef-code-first,C#,Sql,Entity Framework,Ef Code First,我试图在非主列上有一个外键,这是我的模型。 这是一对多的关系。问题可以有多个答案。但答案只针对问题 对于包含用户问题的模型: public class QQuestions { public QQuestions() { Answers = new List<QAnswers>(); } public int Id { get; set; } public int QId { get; set; } public

我试图在非主列上有一个外键,这是我的模型。 这是一对多的关系。问题可以有多个答案。但答案只针对问题

对于包含用户问题的模型:

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; }

}
但当我尝试在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'.
我做错了什么,我该如何纠正。
谢谢。

EF尚未将非pk候选密钥识别为外键的目标(EF工作项在此处:)-您必须在外键中引用相关实体的主键。

QQ问题的主键是什么?QId还是Id?在QAnswer中,您必须删除“public int QId”并设置属性[ForeignKey(“Id”)](我想这是QQuestion对象的主键)。谢谢。QQ问题的主键是Id,但我想与QId建立关系。我想做的就是:在我的webapi中,当我调用GetQuestion并获取id时,它会返回QQuestion以及该问题的所有答案。
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'.