ScadaLinkDbContext with 10 configuration classes (Fluent API only), initial migration creating 25 tables, environment-aware migration helper (auto-apply dev, validate-only prod), DesignTimeDbContextFactory, optimistic concurrency on DeploymentRecord. 20 tests verify schema, CRUD, relationships, cascades.
29 lines
778 B
C#
29 lines
778 B
C#
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
|
using ScadaLink.Commons.Entities.Scripts;
|
|
|
|
namespace ScadaLink.ConfigurationDatabase.Configurations;
|
|
|
|
public class SharedScriptConfiguration : IEntityTypeConfiguration<SharedScript>
|
|
{
|
|
public void Configure(EntityTypeBuilder<SharedScript> builder)
|
|
{
|
|
builder.HasKey(s => s.Id);
|
|
|
|
builder.Property(s => s.Name)
|
|
.IsRequired()
|
|
.HasMaxLength(200);
|
|
|
|
builder.Property(s => s.Code)
|
|
.IsRequired();
|
|
|
|
builder.Property(s => s.ParameterDefinitions)
|
|
.HasMaxLength(4000);
|
|
|
|
builder.Property(s => s.ReturnDefinition)
|
|
.HasMaxLength(4000);
|
|
|
|
builder.HasIndex(s => s.Name).IsUnique();
|
|
}
|
|
}
|