diff --git a/src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase/Configurations/InstanceConfiguration.cs b/src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase/Configurations/InstanceConfiguration.cs index bd14aeeb..f9c4b038 100644 --- a/src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase/Configurations/InstanceConfiguration.cs +++ b/src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase/Configurations/InstanceConfiguration.cs @@ -53,10 +53,40 @@ public class InstanceConfiguration : IEntityTypeConfiguration .HasForeignKey(b => b.InstanceId) .OnDelete(DeleteBehavior.Cascade); + builder.HasMany(i => i.NativeAlarmSourceOverrides) + .WithOne() + .HasForeignKey(o => o.InstanceId) + .OnDelete(DeleteBehavior.Cascade); + builder.HasIndex(i => new { i.SiteId, i.UniqueName }).IsUnique(); } } +public class InstanceNativeAlarmSourceOverrideConfiguration : IEntityTypeConfiguration +{ + /// Configures the EF Core mapping for . + /// The entity type builder. + public void Configure(EntityTypeBuilder builder) + { + builder.HasKey(o => o.Id); + + builder.Property(o => o.SourceCanonicalName) + .IsRequired() + .HasMaxLength(400); // Larger than names to fit composed paths. + + builder.Property(o => o.ConnectionNameOverride) + .HasMaxLength(200); + + builder.Property(o => o.SourceReferenceOverride) + .HasMaxLength(1000); + + builder.Property(o => o.ConditionFilterOverride) + .HasMaxLength(1000); + + builder.HasIndex(o => new { o.InstanceId, o.SourceCanonicalName }).IsUnique(); + } +} + public class InstanceAttributeOverrideConfiguration : IEntityTypeConfiguration { /// Configures the EF Core mapping for . diff --git a/src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase/Configurations/TemplateConfiguration.cs b/src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase/Configurations/TemplateConfiguration.cs index abff41d7..ac7c1e4a 100644 --- a/src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase/Configurations/TemplateConfiguration.cs +++ b/src/ZB.MOM.WW.ScadaBridge.ConfigurationDatabase/Configurations/TemplateConfiguration.cs @@ -58,6 +58,41 @@ public class TemplateConfiguration : IEntityTypeConfiguration