C#Linq-我该如何应用过滤器,它无法比较自己
本文关键字:过滤器 自己 比较 应用 何应用 C#Linq- | 更新日期: 2023-09-27 17:58:28
我正在进行一个项目,希望更新Areas
表的Name
列。在更新时,我想验证数据库中是否有相同的Areas.Name
可用,但在搜索/比较时,它不应该与自己进行比较。我提出了以下查询,它搜索数据库列Areas.Name
的所有值,但不能跳过比较本身。
public bool IsDuplicateArea(string areaName)
{
return db.Areas.Where(a => a.Name == areaName).Any();
}
其中areaName
包含我想在数据库中更新的区域的名称。
任何人都知道我该如何应用过滤器,以使其无法进行自我比较?
传递列的ID并按照进行检查
public bool IsDuplicateArea(string areaName, int Id)
{
return db.Areas.Where(a => a.Name == areaName && a.Id != Id).Any();
}
您也只能使用.Any()
:
return db.Areas.Any(a => a.Name == areaName && a.Id != Id);