Мягкое удаление многих отношений
Единственный вопрос, который я нашел наиболее похожим на мой вопрос, это здесь, но он не ответил на мой вопрос. У меня есть эта модель:
public class Profile
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
public bool IsDeleted {get; set; }
public virtual ICollection<Program> AllowedPrograms { get; set; }
public virtual ICollection<Program> DisAllowedPrograms { get; set; }
}
и это:
public class Program
{
public int Id { get; set; }
public string DisplayName { get; set; }
public bool IsActive { get; set; }
public bool IsDeleted {get; set; }
public virtual ICollection<Profile> AllowedProfiles { get; set; }
public virtual ICollection<Profile> DisAllowedProfiles { get; set; }
}
Если я реализую мягкое удаление с помощью IsDeleted
поле, что происходит с записями в ProfileProgram
Таблица? Они удалены слишком неявно? (Я полагаю, что в этой модели есть два отношения "многие ко многим"). Если я использую фильтры структуры лица, который находится здесь.
Или я должен сам создать промежуточную таблицу и добавить IsDeleted
поле к этому? Также этот подход, кажется, сильно меняет мой код, который я действительно ищу альтернативный метод.
1 ответ
Да, таблица ProfileProgram не удаляется автоматически. Да, вы должны создать таблицу IsDeleted (не поле).