linq 更新数据库项的 predicate C#

ymdaylpp  于 2023-09-28  发布在  C#
关注(0)|答案(1)|浏览(103)

我编写了更新动词,以防止在编辑患者配置文件时出现重复电话号码,以便在编辑时获得输入重复电话号码的权限,但是...它来检查同一个病人,不允许更新同一个它需要以前的电话...告诉我一个方法来给予自己,不包括自己的条件,它不要紧的形式,一个linQ或任何东西,请指导我。

Public bool checkHavePhoneNumber(client c)
{
  Return db.clients.any(i=>i.phonenumber ==c.phonenumbers):
}

我总是会得到一个记录。我希望这张唱片被抛弃,如果它是以前的自己

ctehm74n

ctehm74n1#

现在您正在查询Clients表中的 all 客户端。如果c已经存在于数据库中,它将被包含在这些结果中,因此您将始终获得匹配。
您可以在Where/Any中包含多个Where子句或一个“and”,以包含您感兴趣的客户端的过滤器。

public bool checkHavePhoneNumber(client c)
{
    return db.clients
        .Where(x => x.Id != c.Id) // change this property as needed
        .Where(x => x.phonenumber == c.phonenumbers)
        .Any();
}

Id属性更改为用于唯一标识Client记录的任何属性。

相关问题