У меня проблемы с реализацией мягкого удаления для существующей таблицы с индексом.
Существует индекс «BookDescriptionUniqueOnGenre», который учитывает объединенную уникальность 3 полей в моей таблице «Книга».Я добавил новое поле IsDeleted и хочу, чтобы мой индекс применялся к элементам, которые не были удалены.Есть ли способ добавить условие к этому индексу, которое будет применяться только в том случае, если IsDeleted = false
Я могу добиться аналогичного результата с помощью пользовательского валидатора, однако я бы хотел сделатьэто через код в первую очередь и использование миграций без удаления индекса
[Table("Book", Schema = "fhr")]
public class Book : IEntity
{
[Required]
public Guid Id { get; set; }
[Required, Index("BookDescriptionUniqueOnGenre", 1, IsUnique = true)]
public Guid AuthorId { get; set; }
[Required, MaxLength(100), Index("BookDescriptionUniqueOnGenre", 2, IsUnique = true)]
public string Description { get; set; }
[Required, Index("BookDescriptionUniqueOnGenre", 3, IsUnique = true)]
public Genre Genre { get; set; }
public bool IsDeleted { get; set; }
}