在我的C#項目中,我有一個方法,詢問數據庫中是否存在對象,如果不存在,則創建它。現在,如果兩個用戶同時詢問同一個問題,他們都會得到空值,因此流將保存到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