Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SqlException:INSERT语句与外键约束冲突。冲突发生在数据库表列中_C#_Asp.net Mvc - Fatal编程技术网

C# SqlException:INSERT语句与外键约束冲突。冲突发生在数据库表列中

C# SqlException:INSERT语句与外键约束冲突。冲突发生在数据库表列中,c#,asp.net-mvc,C#,Asp.net Mvc,我想保存另一个表中的id_ats和id_ex记录,但我总是得到错误外键约束。请帮帮我 控制器: [HttpPost]

我想保存另一个表中的id_ats和id_ex记录,但我总是得到错误外键约束。请帮帮我

控制器:

 [HttpPost]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
    public ActionResult SaveRecord(IEnumerable<exercises> model)
    {
        foreach (var item in model)
        {
            ex_op dbitem = new ex_op();
            if (db.ex_op.Any(x => x.id_test == item.Id))
            {
                dbitem = db.ex_op.Where(x => x.id_test == item.Id).FirstOrDefault();
                dbitem.id_test = item.Id;
                dbitem.id_ats = item.IdAts;
                dbitem.id_ex = item.IdExercises;
                dbitem.start_test = item.StartTest;
                dbitem.end_test = item.EndTest;
                dbitem.best_time = item.BestTime;
                dbitem.performance = item.performance;
                dbitem.status = item.status;
                dbitem.comment = item.comment;
                db.Entry(dbitem).State = EntityState.Modified;
            }
            else
            {
                dbitem.id_test = item.Id;
                dbitem.id_ats = item.IdAts;
                dbitem.id_ex = item.IdExercises;
                dbitem.start_test = item.StartTest;
                dbitem.end_test = item.EndTest;
                dbitem.best_time = item.BestTime;
                dbitem.performance = item.performance;
                dbitem.status = item.status;
                dbitem.comment = item.comment;
                db.ex_op.Add(dbitem);
            }
            db.SaveChanges();
        }
        return RedirectToAction("Index", new { msg = "Sukses" });
    }
[HttpPost]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
公共操作结果保存记录(IEnumerable模型)
{
foreach(模型中的var项目)
{
ex_op dbitem=新的ex_op();
if(db.ex_op.Any(x=>x.id_test==item.id))
{
dbitem=db.ex_op.Where(x=>x.id_test==item.id).FirstOrDefault();
dbitem.id_test=item.id;
dbitem.id_ats=item.IdAts;
dbitem.id_ex=item.IdExercises;
dbitem.start\u test=item.StartTest;
dbitem.end_test=item.EndTest;
dbitem.best_time=item.BestTime;
dbitem.performance=item.performance;
dbitem.status=item.status;
dbitem.comment=item.comment;
db.Entry(dbitem).State=EntityState.Modified;
}
其他的
{
dbitem.id_test=item.id;
dbitem.id_ats=item.IdAts;
dbitem.id_ex=item.IdExercises;
dbitem.start\u test=item.StartTest;
dbitem.end_test=item.EndTest;
dbitem.best_time=item.BestTime;
dbitem.performance=item.performance;
dbitem.status=item.status;
dbitem.comment=item.comment;
db.ex_op.Add(数据库项);
}
db.SaveChanges();
}
返回重定向操作(“Index”,new{msg=“Sukses”});
}

通常出现外键约束错误时,问题是用于更新或插入的ID在相关表中不存在

例如,如果一个盒子(BoxTable)有苹果(AppleTable),而苹果表格有一个指向盒子表格的外键,则必须存在一个盒子才能创建或插入苹果。
如果您使用的id在box表中不存在,则会出现外键约束错误。

您好,Ayu,欢迎使用堆栈溢出。为了帮助解决这个问题,我们可能需要更多关于您的模式和数据的信息。我还建议对代码进行格式化,以便于阅读;现在真的很难理解。值得注意的是,外键约束旨在确保数据完整性,如果您违反了该约束,则完全可以预料会抛出错误。您应该评估的问题是,哪些字段具有外键约束,并且您插入的值是否满足该约束?您好,Jeremy,谢谢您的回答。我希望根据op_ats列中的ID和detail_ex列中的ID保存记录,它们将保存到table ex_op中的1个表中。因此,我在数据库中创建了获取数据ID op_ats和ID detail_ex的关系,然后运行应用程序i get error,如下所示。但是当我删除关系表时,我没有得到错误,但是ID op_ats和ID detail_ex不能保存到表ex_op中