31 lines
1.1 KiB
C#
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);
|
|
|
|
}
|
|
} |