Как проверить данные, если существует, в EF на WPF - PullRequest
0 голосов
/ 12 июня 2018

Как реализовать условие проверки в 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 !");
         }
     }

, но оно не работает :( Пожалуйста,помогите мне.

Код ошибки:

введите описание изображения здесь

с исключением ошибки ВНУТРЕННИЕ ДЕТАЛИ:


SqlException: Нарушение ограничения PRIMARY KEY 'PK_Adres'. Невозможно вставить повторяющийся ключ в объект 'dbo.Adres'. Значение дублирующего ключа равно (0). Оператор завершен.


База данных моделей:

введите описание изображения здесь

1 Ответ

0 голосов
/ 12 июня 2018

Похоже, вы пытаетесь сохранить данные в таблице (адрес), где это значение существует в этом случае «0».Похоже, вы вообще не проверяете это значение (Id_Adres) в этих операторах if.

Может также случиться так, что вы не настроили это значение (Id_Adres) для автоматического увеличения в вашей базе данных, поэтому оно принимает неустановленное значение в вашей модели, которое по умолчанию равно 0. Вам также необходимо установить идентификатор PKвручную или автоматически увеличивать значение при каждом добавлении данных.

@ Фабио дал правильный комментарий для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...