如何知道一个特定的记录是否存在于数据库中

本文关键字:是否 记录 存在 数据库 何知道 一个 | 更新日期: 2023-09-27 18:16:46

如何知道一个特定的数据是否存在于数据库中?例如,如果数据库中已经有"Student_Id"answers"Course_Id"在一个表中,那么更新记录,否则插入记录。

我已经有一个控制器动作,我用来插入数据,但我想添加一个额外的功能,它检查数据库(SQL Server),并根据记录是否存在或现在插入/更新。

我使用Linq to SQL来插入数据。

Thanks in advance

如何知道一个特定的记录是否存在于数据库中

既然你使用了LinqToSql,我就会这样做

var item = (from c in dataContext.TableName
           where c.StudentID == your_sid && c.CourseID== your_course_id
           select c).FirstOrDefault();

if(item==null)
{
   //insert the record
}
else
{
   //update the record
}

可以在添加数据之前通过简单的select语句检查数据是否存在。

bool exists = yourTable.Any(row => row.StudentID == studentId && row.CourseID = courseID);

理想情况下,您应该将数据库设计为使Student_IdCourse_Id成为此表的组合唯一键,因此如果已经存在记录,您的代码将无法添加它们。

正如Maess所问的,这些值是如何生成的?根据数据是否是用户生成的,您的选项可能会发生变化。例如;如果您有两个下拉框来选择学生和课程,请不要允许用户选择学生已经在学习的课程。

尝试使用.FirstOrDefault()获取记录,如果为空,则插入,然后更新值和.SubmitChanges()