using APT.Infrastructure.Core; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace APT.Infrastructure.EF.Map { public abstract class APTTreeEntityBaseMap: APTEntityBaseMap where T :MesTreeEntityBase { public override void Configure(EntityTypeBuilder builder) { base.Configure(builder); builder.Property(t => t.TEXT).HasMaxLength(50); builder.Property(t => t.PARENT_ID); builder.Property(t => t.IS_LEAF); } } public abstract class TreeEntityBaseMap : APTTreeEntityBaseMap where T : TreeEntityBase { public override void Configure(EntityTypeBuilder builder) { base.Configure(builder); builder.HasOne(t => t.Nav_Parent).WithMany(t=>t.Nav_Children).HasForeignKey(t => t.PARENT_ID).OnDelete(DeleteBehavior.Restrict); } } }