using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace CMSMicroservice.Infrastructure.Persistence.Configurations; /// /// فیچرهای باشگاه مشتریان /// public class ClubFeatureConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasQueryFilter(p => !p.IsDeleted); builder.Ignore(entity => entity.DomainEvents); builder.HasKey(entity => entity.Id); builder.Property(entity => entity.Id).UseIdentityColumn(); builder.Property(entity => entity.Title).IsRequired().HasMaxLength(200); builder.Property(entity => entity.Description).IsRequired(false).HasMaxLength(1000); builder.Property(entity => entity.IsActive).IsRequired(); builder.Property(entity => entity.SortOrder).IsRequired(); // Index برای IsActive و SortOrder builder.HasIndex(e => new { e.IsActive, e.SortOrder }) .HasDatabaseName("IX_ClubFeature_IsActive_SortOrder"); } }