В моем проекте Asp. net шаблон я создаю сущность:
public class Contact : FullAuditedEntity<int>
{
public string Phone { get; set; }
public string Email { get; set; }
public Fio BossFio { get; }
public Fio BuhFio { get; }
}
также у меня есть класс:
[Owned]
public class Fio
{
public string Name { get; set; }
public string Surname { get; set; }
public string Patronymic { get; set; }
}
в DbContext в методе OnModelCreating Я настроил имена и длины соответствующих полей.
В консоли я делаю:
PM>Maigrate-Database 'aaa'
- ОК, тогда я делаю:
PM>Update-Database
- ОК
Затем я запускаю приложение и в Swager добавляю новую запись
- ОК
Затем я удаляю запись в swager
И у меня есть исключение.
В сообщении говорится, что в ChangeTracker
Entity Contact имеет состояние = EntityState.Modified. И
Сущности BossFio # Fio и BuhFio # Fio State = State.Deleted
Я смотрю на метод: CancelDeletionForSoftDelete () в классе AbpZeroDbContext и вижу, что метод пропускает сущности, которые не являются ISoftDelete.
Я делаю: защищенное переопределение void CancelDeletionForSoftDelete (запись EntityEntry) {} В моем пользовательском DbContext и расширять функционал по мере необходимости. Но я сомневаюсь, правильно ли я поступил? Может быть, мне нужно создавать и работать с такими объектами по-другому? Кто-нибудь сталкивался с такой проблемой?