Files
Backend-Api/AccountMangement.Infrastructure.EFCore/Mappings/TaskMapping.cs
2024-07-10 20:25:54 +03:30

30 lines
1.3 KiB
C#

using AccountManagement.Domain.TaskAgg;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace AccountMangement.Infrastructure.EFCore.Mappings;
public class TaskMapping:IEntityTypeConfiguration<Tasks>
{
public void Configure(EntityTypeBuilder<Tasks> 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);
}
}