Операция удаления устанавливает нулевое значение для свойства навигации - PullRequest
0 голосов
/ 29 марта 2020

Это структура моей базы данных:

  1. Один пользователь может иметь много категорий
  2. Одна категория может иметь много тегов.
  3. Один тег может иметь много Передача.
  4. Один пользователь может иметь несколько учетных записей.
  5. Одна учетная запись может иметь несколько передач.

Следуя рекомендациям EF Core по использованию свойств навигации, допускающих использование значений NULL, это код для свойства навигации Author между отношениями Category и User.

private User? _author;
public User Author
{
    get => this._author ?? throw new InvalidOperationException(...); 
    set => this._author = value ?? throw new ArgumentNullException(nameof(value));
}

Однако, когда я пытаюсь удалить User, EF Core вызывает оба установщика (значение установки null) и получатель этого свойства навигации. Что, очевидно, приведет к возникновению исключений.

Все отношения являются обязательными и имеют каскадное поведение, поэтому я не понимаю, почему для этого свойства должно быть установлено нулевое значение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...