Files
Backend-Api/AccountMangement.Infrastructure.EFCore/Mappings/TaskMapping.cs
2024-08-24 19:13:34 +03:30

31 lines
1.1 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.Description).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.TaskScheduleId).IsRequired(false);
builder.Property(x => x.TicketId).IsRequired(false);
builder.HasOne(x => x.TaskSchedule).WithMany(x => x.TasksList).HasForeignKey(x => x.TaskScheduleId)
.IsRequired(false).OnDelete(DeleteBehavior.Cascade);
builder.HasMany(x => x.Assigns).WithOne(x => x.Task).HasForeignKey(x => x.TaskId)
.IsRequired(false).OnDelete(DeleteBehavior.Cascade);
}
}