using AccountManagement.Domain.TaskAgg; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace AccountMangement.Infrastructure.EFCore.Mappings; public class TaskMapping:IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable("TasksManager"); builder.HasKey(t => t.id); builder.Property(x => x.RequestDate).IsRequired(false); builder.Property(x => x.EndTaskDate).IsRequired(); builder.Property(x => x.Description).IsRequired(false).HasColumnType("ntext"); builder.Property(x => x.CancelDescription).IsRequired(false).HasColumnType("ntext"); builder.Property(x => x.TimeRequestDescription).IsRequired(false).HasColumnType("ntext"); builder.Property(x => x.Title).IsRequired().HasMaxLength(100); builder.Property(x => x.IsActiveString).HasMaxLength(7); builder.Property(x => x.ContractingPartyName).HasMaxLength(200); builder.Property(x => x.DoneDescription).IsRequired(false).HasColumnType("ntext"); builder.Property(x => x.TicketId).IsRequired(false); builder.HasMany(x => x.Assigns).WithOne(x => x.Task).HasForeignKey(x => x.TaskId).IsRequired(false).OnDelete(DeleteBehavior.Cascade); } }