Вы обновляете свойство Status1 записи статуса, а не присваиваете другой статус для обзора.
Например, допустим, у вас есть 3 статуса: «Ожидание», «Утверждено» и «Отклонено»,Это будет 3 записи статуса.Отзыв имеет идентификатор статуса, который указывает на запись статуса.Ваша сущность проверки EF также имеет ссылку на статус.
С учетом следующих записей:
StatusId: 1, Status1: «Pending»
StatusId: 2, Status1: «Approved"
StatusId: 3, Status1:" Rejected "
У вас может быть запись обзора с StatusID 1. (" Ожидание ") Если вы идете по адресу review.Status.Status1 =" Approvedmsgstr "вы говорите EF обновить текстовое поле status1 записи # 1 на" Утверждено ".В каждом обзоре, связанном с StatusID # 1, будет указано «Одобрено».
То, что вы действительно хотите сделать, - это указать на статус ID # 2.
Таким образом, на базовом уровне он должен выглядетьчто-то вроде:
review.Status = context.Statuses.Single(x => x.Status1 == "Approved");
Это говорит EF, чтобы связать эту проверку со статусом соответствия Утверждено.За кулисами EF обновит StatusID вашей записи обзора на «2».Теперь есть более эффективные способы присвоения подобного статуса, но это должно помочь вам понять проблему с ссылками, с которой вы столкнулись в настоящее время.