Я видел подобные вопросы, но ни один из них не удовлетворил мою ситуацию.
У меня есть 2 таблицы:
User(id, apartmentId, ....)
Apartment(id, ....)
Когда пользователь создан, идентификатор квартиры равен нулю, когда пользователь присоединился к квартире, будет установлен идентификатор квартиры.
Проблема в том, что после того, как пользователь Ушел из своей квартиры, мне нужно установить для параметра apartmentId значение null, но из-за ограничения внешнего ключа MySql не позволяет мне сделать это, но, как вы можете видеть, это смысловой случай.
Помимо исключения ограничения внешнего ключа, есть ли другой подход?
Вот мой код
public bool QuitApartment(string userId)
{
var user = _userService.GetById(userId);
if(user == null)
{
return false;
}
user.ApartmentId = null;
_dataContext.Entry(user).State = EntityState.Modified;
_dataContext.SaveChanges();
return true;
}