我正在使用EF,我无法将数据插入表格。
问题类看起来像这样
[Table("QUESTION")]
public class QUESTION
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int id { get; set; }
public int q_id { get; set; }
public string questname { get; set; }
public string optionname { get; set; }
}
插入方法
public string Save(QUESTION newquestion)
{
try
{
using (dbcontextdata Context = new dbcontextdata())
{
QUESTION dbquest = new QUESTION();
dbquest.id = newquestion.id;
dbquest.q_id = newquestion.q_id;
dbquest.questname = newquestion.questname;
dbquest.optionname = newquestion.optionname;
Context.QUESTIONs.Add(dbquest);
Context.SaveChanges();
}
}
catch (Exception e)
{
return e.Message;
}
return "OK";
}
发布数据时,它会在SaveChanges
()
列名' q_id'在SET子句中多次指定 或INSERT的列列表。列不能分配多个 同一条款中的值。修改子句以确保列 只更新一次。如果此语句更新或插入列 在视图中,列别名可以隐藏代码中的重复。
这里q_id
是FK,帮助我。
答案 0 :(得分:1)
您需要将q_id
明确定义为外键,如下所示。
[ForeignKey("MyForeignTable")]
public int q_id { get; set; }
答案 1 :(得分:1)
[Index(IsUnique=true)]
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int q_id { get; set; }