如何检查数据是否存在,在WPF上的EF中

时间:2018-06-12 10:14:21

标签: c# wpf entity-framework

如果数据库中存在给定值,如何在Entity Framework中实现检查条件?

我做到了:

using (eDoctorEntities db = new eDoctorEntities())
    {
       if (db.Pacjents.Any( x => x.Pesel == PESEL.Text))
         {
            MessageBox.Show("Podany PESEL istnieje w bazie");
         }
       else if (db.Kontakts.Any( x => x.email == Email.Text))
         {
            MessageBox.Show("Podany e-mail istnieje w bazie");
         }
       else if (db.Kontakts.Any( x => x.Telefon == Telefon.Text))
         {
            MessageBox.Show("Podany telefon istnieje w bazie");
         }
       else
         {
            db.Pacjents.Add(model);
            db.SaveChanges();

            MessageBox.Show("Zarejestrowano !");
         }
     }

但它不起作用:(请帮助我。

代码错误:

enter image description here

错误异常INNER DETAILS:

  

SqlException:违反PRIMARY KEY约束' PK_Adres'。不能   在对象' dbo.Adres'中插入重复键。重复的键值是   (0)。声明已经终止。

模型数据库:

enter image description here

1 个答案:

答案 0 :(得分:2)

看起来您正试图将数据存储到表(Adres)中,在这种情况下,该值存在于' 0'中。在这些if语句中,您根本不会检查该值(Id_Adres)。

也可能是您没有将该值(Id_Adres)设置为在数据库中自动递增,因此它会取消模型中未设置的值,默认值为0.您需要手动设置PK ID或者它会在每次添加数据时自动递增。

@Fabio给出了正确的评论。