< Summary

Information
Class: AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneAuditResidueLifecycleEventEntityConfiguration
Assembly: AsiBackbone.EntityFrameworkCore
File(s): /home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.EntityFrameworkCore/Configurations/AsiBackboneAuditResidueLifecycleEventEntityConfiguration.cs
Line coverage
100%
Covered lines: 54
Uncovered lines: 0
Coverable lines: 54
Total lines: 101
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Configure(...)100%11100%

File(s)

/home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.EntityFrameworkCore/Configurations/AsiBackboneAuditResidueLifecycleEventEntityConfiguration.cs

#LineLine coverage
 1using AsiBackbone.EntityFrameworkCore.Persistence;
 2using Microsoft.EntityFrameworkCore;
 3using Microsoft.EntityFrameworkCore.Metadata.Builders;
 4
 5namespace AsiBackbone.EntityFrameworkCore.Configurations;
 6
 7/// <summary>
 8/// Configures the Entity Framework Core persistence mapping for <see cref="AsiBackboneAuditResidueLifecycleEventEntity"
 9/// </summary>
 10public sealed class AsiBackboneAuditResidueLifecycleEventEntityConfiguration
 11    : IEntityTypeConfiguration<AsiBackboneAuditResidueLifecycleEventEntity>
 12{
 13    private const int IdentifierMaxLength = 128;
 14    private const int StageMaxLength = 128;
 15    private const int OperationNameMaxLength = 256;
 16    private const int OutcomeMaxLength = 128;
 17    private const int ConcurrencyStampMaxLength = 64;
 18
 19    /// <inheritdoc />
 20    public void Configure(EntityTypeBuilder<AsiBackboneAuditResidueLifecycleEventEntity> builder)
 21    {
 3622        ArgumentNullException.ThrowIfNull(builder);
 23
 3624        _ = builder.ToTable("AsiBackboneAuditResidueLifecycleEvents");
 25
 3626        _ = builder.HasKey(lifecycleEvent => lifecycleEvent.Id);
 27
 3628        _ = builder.Property(lifecycleEvent => lifecycleEvent.Id)
 3629            .ValueGeneratedNever();
 30
 3631        _ = builder.Property(lifecycleEvent => lifecycleEvent.ConcurrencyStamp)
 3632            .IsRequired()
 3633            .HasMaxLength(ConcurrencyStampMaxLength)
 3634            .IsConcurrencyToken();
 35
 3636        _ = builder.Property(lifecycleEvent => lifecycleEvent.EventId)
 3637            .IsRequired()
 3638            .HasMaxLength(IdentifierMaxLength);
 39
 3640        _ = builder.Property(lifecycleEvent => lifecycleEvent.Stage)
 3641            .HasConversion<string>()
 3642            .IsRequired()
 3643            .HasMaxLength(StageMaxLength);
 44
 3645        _ = builder.Property(lifecycleEvent => lifecycleEvent.StageSequence)
 3646            .IsRequired();
 47
 3648        _ = builder.Property(lifecycleEvent => lifecycleEvent.OccurredUtc)
 3649            .IsRequired();
 50
 3651        _ = builder.Property(lifecycleEvent => lifecycleEvent.CorrelationId)
 3652            .IsRequired()
 3653            .HasMaxLength(IdentifierMaxLength);
 54
 3655        _ = builder.Property(lifecycleEvent => lifecycleEvent.AuditResidueId)
 3656            .HasMaxLength(IdentifierMaxLength);
 57
 3658        _ = builder.Property(lifecycleEvent => lifecycleEvent.TraceId)
 3659            .HasMaxLength(IdentifierMaxLength);
 60
 3661        _ = builder.Property(lifecycleEvent => lifecycleEvent.OperationName)
 3662            .HasMaxLength(OperationNameMaxLength);
 63
 3664        _ = builder.Property(lifecycleEvent => lifecycleEvent.Outcome)
 3665            .HasMaxLength(OutcomeMaxLength);
 66
 3667        _ = builder.Property(lifecycleEvent => lifecycleEvent.MetadataJson)
 3668            .IsRequired();
 69
 3670        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.EventId)
 3671            .IsUnique();
 72
 3673        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.Stage);
 74
 3675        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.StageSequence);
 76
 3677        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.OccurredUtc);
 78
 3679        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.CorrelationId);
 80
 3681        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.AuditResidueId);
 82
 3683        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.TraceId);
 84
 3685        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.OperationName);
 86
 3687        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.Outcome);
 88
 3689        _ = builder.HasIndex(lifecycleEvent => new
 3690        {
 3691            lifecycleEvent.CorrelationId,
 3692            lifecycleEvent.OccurredUtc
 3693        });
 94
 3695        _ = builder.HasIndex(lifecycleEvent => new
 3696        {
 3697            lifecycleEvent.AuditResidueId,
 3698            lifecycleEvent.OccurredUtc
 3699        });
 36100    }
 101}