Files
Deal/src/core/Deal.Infrastructure/Persistence/Configurations/RejectedItemConfiguration.cs
T
Rustam Khalimov b053d58335 Почистить комментарии от упоминаний процесса
Удалены <remarks>, <summary> сжаты до короткой фразы, вырезаны
ссылки на Task/Ruling/этап/python/прототип; //-комментарии со ссылками
на процесс удалены; то же в .proto. Правила обновлены в
docs/spec/Код-стайл-Дейл.md. Строк комментариев 27210 -> ~19100.
2026-09-11 13:39:39 +03:00

31 lines
1.1 KiB
C#

using Deal.Infrastructure.Persistence.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Deal.Infrastructure.Persistence.Configurations;
/// <summary>
/// EF-конфигурация отсева пайплайна
/// </summary>
public sealed class RejectedItemConfiguration : IEntityTypeConfiguration<RejectedItemEntity>
{
public void Configure(EntityTypeBuilder<RejectedItemEntity> builder)
{
builder.ToTable("RejectedItems");
builder.HasKey(x => x.Id);
builder.Property(x => x.Text).HasColumnType("text");
builder.Property(x => x.Reason).HasColumnType("text");
builder.Property(x => x.Kw).HasColumnType("text");
builder.Property(x => x.SearchTsv)
.HasComputedColumnSql("to_tsvector('russian', coalesce(\"Text\",''))", stored: true);
// Автоочистка старше 3 суток и сортировка списка идут по времени отсева.
builder.HasIndex(x => x.RejectedAt);
builder.HasIndex(x => x.SearchTsv).HasMethod("gin");
}
}