Внутри сюжетного объекта у меня есть рейтинг дочернего объекта. У меня возникает проблема при вставке нового рейтинга.
Сообщение об ошибке: «Предполагается, что операция с базой данных затронет 1 ряд (ы), но фактически затронет 0 ряд (ы) Возможно, данные были изменены или удалены с момента загрузки объектов. "
введите описание изображения здесь
public async Task WriteRatingForStory(int storyId, int userId, int
score)
{
// Get the story that was rated
var story = await _dbContext.Stories.FirstOrDefaultAsync(story => story.Id == storyId);
// Updating thestory with the new rating
story.WriteRating(userId, score);
//_dbContext.Stories.Update(story);
// Save the updated story to the database
var saved = false;
while (!saved)
{
try
{
// Attempt to save changes to the database
_dbContext.SaveChanges();
saved = true;
}
catch (DbUpdateConcurrencyException ex)
{
}
}
}
public void WriteRating(int userId, double newRating)
{
Ratings.Add(new Rating() { StoryId = this.Id, Score = newRating, UserId = userId });
AverageRating = ((AverageRating * NumberOfRatings - 1) + newRating) / NumberOfRatings;
}