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

如果给定的值存在于数据库中,您如何在实体框架中实现检查条件?


我做到了:


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 !");

         }

     }

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


代码错误:

http://img.mukewang.com/610e4780000105a108460398.jpg

有错误异常内部细节:


SqlException: 违反 PRIMARY KEY 约束“PK_Adres”。无法在对象“dbo.Adres”中插入重复键。重复的键值为 (0)。该语句已终止。


模型数据库:

http://img.mukewang.com/610e478e00014fa804670611.jpg

繁星点点滴滴
浏览 397回答 1
1回答

杨__羊羊

看起来您正在尝试将数据存储到表 (Adres) 中,在这种情况下该值存在于“0”中。看起来您根本没有在这些 if 语句中检查该值 (Id_Adres)。也可能是您尚未将该值 (Id_Adres) 设置为在您的数据库中自动递增,因此它在您的模型中采用未设置的值,该值默认为 0。您需要手动设置 PK ID 或让它自动递增每次添加数据。@Fabio 给出了正确的评论来做到这一点。
打开App,查看更多内容
随时随地看视频慕课网APP