Проблема ограничения первичного ключа с запросом API внутри сообщения электронной почты - PullRequest
1 голос
/ 14 февраля 2020
System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK_EmployeeBulletinView'.
Cannot insert duplicate key in object 'dbo.EmployeeBulletinView'.
The duplicate key value is (44122, 67489).

эта ошибка появляется, даже когда я проверяю, существует ли EmployeeBulletinView. в настоящее время вызов выглядит так:

EmployeeBulletinView employeeView = await _context.EmployeeBulletinView.FirstOrDefaultAsync(v => v.EmployeeID == employeeID && v.BulletinID == bulletinID);
if (employeeView == null)
{
 employeeView = new EmployeeBulletinView();
 employeeView.BulletinID = bulletinID;
 employeeView.EmployeeID = employeeID;
 employeeView.EmployeeBulletinViewDate = DateTime.Now;
 _context.Add(employeeView);
 return await _context.SaveChangesAsync() > 0;
}
return true;

, чтобы добраться до этого вызова базы данных, в качестве источника IMG передается URL-адрес контроллера API для записи того, что получатель просмотрел бюллетень. Возможно ли, что почтовый клиент, вызвавший ошибку, отправил запрос дважды в одно и то же время до того момента, когда первый успешно сохранил запись, а второй все еще создает объект EmployeeBulletinView и находится в процессе сохранения?

Заранее спасибо!

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