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包含我想在数据库中更新的区域的名称。

任何人都知道我该如何应用过滤器,以使其无法进行自我比较?

C#Linq-我该如何应用过滤器,它无法比较自己

传递列的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);