Отказ от отдельной легаси-сущности

This commit is contained in:
2025-05-15 09:49:57 +04:00
parent 4a7067f0b9
commit afdc5d3f81
21 changed files with 415 additions and 859 deletions
+18 -33
View File
@@ -6,7 +6,6 @@ using Microsoft.EntityFrameworkCore.Metadata.Builders;
using Pf2eModel.Model;
using Pf2eModel.Model.Base;
using Pf2eModel.Model.Base.Keywords;
using Pf2eModel.Model.Base.Legacy;
using Pf2eModel.Model.Base.Source;
using Pf2eModel.Model.Base.Targets;
using Pf2eModel.Model.Common;
@@ -98,6 +97,13 @@ public partial class Pf2eDbContext
entity.HasMany(e => e.Keywords).WithMany(t => t.Entities);
// EntityAliases
entity
.HasMany(e => e.Aliases)
.WithOne(a => a.Entity)
.HasForeignKey(a => a.EntityId)
.OnDelete(DeleteBehavior.Cascade);
// EntitySource
entity
.HasMany(e => e.Sources)
@@ -111,28 +117,19 @@ public partial class Pf2eDbContext
.WithOne(e => e.Entity)
.HasForeignKey(e => e.EntityId)
.OnDelete(DeleteBehavior.Cascade);
});
// LegacyEntity
modelBuilder.Entity<LegacyEntity>(entity =>
{
BindLocaleString(entity, l => l.Name);
entity.HasMany(l => l.RemasterEntities).WithMany(e => e.LegacyEntities);
// LegacyEntitySource
// LegacyRemaster
entity
.HasMany(e => e.Sources)
.WithOne(e => e.LegacyEntity)
.HasForeignKey(e => e.LegacyEntityId)
.OnDelete(DeleteBehavior.Cascade);
// LegacyEntityExternal
entity
.HasMany(e => e.Externals)
.WithOne(e => e.LegacyEntity)
.HasForeignKey(e => e.LegacyEntityId)
.OnDelete(DeleteBehavior.Cascade);
.HasMany(e => e.LegacyEntities)
.WithMany(e => e.RemasterEntities)
.UsingEntity<LegacyRemaster>(
//l =>
// l.HasOne(lr => lr.LegacyEntity).WithMany().HasForeignKey(lr => lr.LegacyId),
//r =>
// r.HasOne(lr => lr.RemasterEntity)
// .WithMany()
// .HasForeignKey(lr => lr.RemasterId)
);
});
// Source
@@ -146,12 +143,6 @@ public partial class Pf2eDbContext
.HasForeignKey(e => e.SourceId)
.OnDelete(DeleteBehavior.Cascade);
entity
.HasMany(s => s.LegacyEntitySources)
.WithOne(e => e.Source)
.HasForeignKey(e => e.SourceId)
.OnDelete(DeleteBehavior.Cascade);
// + EntitySource
});
modelBuilder.Entity<EntitySource>(entity => { });
@@ -164,12 +155,6 @@ public partial class Pf2eDbContext
.WithOne(e => e.Target)
.HasForeignKey(e => e.TargetId)
.OnDelete(DeleteBehavior.Cascade);
entity
.HasMany(t => t.LegacyEntityExternals)
.WithOne(e => e.Target)
.HasForeignKey(e => e.TargetId)
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity<EntityExternal>(entity => { });