MVC5 如何检查编辑中的重复项

MVC5 How to Check for duplicates in Edit

我得到了 table 这些列: 身份证,姓名,毕业

在创建操作中检查重复项工作正常:

if(db.students.Any(a=>a.Name.Equals(student.Name)
{
   ModelState.AddModelError("Name","Name already exists!!")
}

如何在编辑操作中使用它,仅当名称已更改然后检查重复项? 因为当我使用它并更新毕业日期并单击“保存”时,它会显示重复错误。 先谢谢你了。

您可以从 Any() 条件中排除正在编辑的条目。它可能看起来像这样:

if (db.students.Any(a => a.Name.Equals(student.Name) && a.Id != student.Id)) {
    // ...
}

这样它将只检查所有其他学生,而不检查您要编辑的学生。