using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using WCTDataMiner.Core.Models; namespace WCTDataMiner.Core.Data.Configurations; public class TxPanelConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable("tx_panel"); builder.HasKey(e => e.Id); builder.Property(e => e.Id).HasColumnName("id"); builder.Property(e => e.Name) .IsRequired() .HasMaxLength(50) .HasColumnName("name"); builder.Property(e => e.IsDeleted) .IsRequired() .HasDefaultValue(false) .HasColumnName("is_deleted"); builder.Property(e => e.CreatedAt) .IsRequired() .HasDefaultValueSql("datetime('now')") .HasColumnName("created_at"); builder.HasIndex(e => e.Name).IsUnique(); // 全局查询过滤器 builder.HasQueryFilter(e => !e.IsDeleted); } }