В моем проекте C# у меня есть метод, который спрашивает, существует ли объект в db, а если нет, то создает его. Теперь, если два пользователя задают один и тот же вопрос одновременно, оба они получают нуль, поэтому поток будет сохранять в db, что невозможно для двух дубликатов, чтобы сделать это, поэтому вызовет исключение sql. Как я могу справиться с этой проблемой, пожалуйста?C# одновременные вызовы для sql db
вот мой код:
var date = DateTime.UtcNow.Date;
var todayCelebPageView = _celebPageViewsRepo.GetAll().SingleOrDefault(d => d.iCelebId == celebId && d.dDate == date);
if (todayCelebPageView != null)
{
todayCelebPageView.iScore++;
_celebPageViewsRepo.Save();
}
else
{
todayCelebPageView = new MovliCelebPageView() {dDate = date, iCelebId = celebId, iScore = 1};
_celebPageViewsRepo.Add(todayCelebPageView);
_movliRepository.DbContext.Entry(todayCelebPageView).State = System.Data.EntityState.Added;
_celebPageViewsRepo.Save();
}
Поймать исключение – stuartd