Это структура моей базы данных:
- Один пользователь может иметь много категорий
- Одна категория может иметь много тегов.
- Один тег может иметь много Передача.
- Один пользователь может иметь несколько учетных записей.
- Одна учетная запись может иметь несколько передач.
Следуя рекомендациям 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
) и получатель этого свойства навигации. Что, очевидно, приведет к возникновению исключений.
Все отношения являются обязательными и имеют каскадное поведение, поэтому я не понимаю, почему для этого свойства должно быть установлено нулевое значение ...