< 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    {
 2222        ArgumentNullException.ThrowIfNull(builder);
 23
 2224        _ = builder.ToTable("AsiBackboneAuditResidueLifecycleEvents");
 25
 2226        _ = builder.HasKey(lifecycleEvent => lifecycleEvent.Id);
 27
 2228        _ = builder.Property(lifecycleEvent => lifecycleEvent.Id)
 2229            .ValueGeneratedNever();
 30
 2231        _ = builder.Property(lifecycleEvent => lifecycleEvent.ConcurrencyStamp)
 2232            .IsRequired()
 2233            .HasMaxLength(ConcurrencyStampMaxLength)
 2234            .IsConcurrencyToken();
 35
 2236        _ = builder.Property(lifecycleEvent => lifecycleEvent.EventId)
 2237            .IsRequired()
 2238            .HasMaxLength(IdentifierMaxLength);
 39
 2240        _ = builder.Property(lifecycleEvent => lifecycleEvent.Stage)
 2241            .HasConversion<string>()
 2242            .IsRequired()
 2243            .HasMaxLength(StageMaxLength);
 44
 2245        _ = builder.Property(lifecycleEvent => lifecycleEvent.StageSequence)
 2246            .IsRequired();
 47
 2248        _ = builder.Property(lifecycleEvent => lifecycleEvent.OccurredUtc)
 2249            .IsRequired();
 50
 2251        _ = builder.Property(lifecycleEvent => lifecycleEvent.CorrelationId)
 2252            .IsRequired()
 2253            .HasMaxLength(IdentifierMaxLength);
 54
 2255        _ = builder.Property(lifecycleEvent => lifecycleEvent.AuditResidueId)
 2256            .HasMaxLength(IdentifierMaxLength);
 57
 2258        _ = builder.Property(lifecycleEvent => lifecycleEvent.TraceId)
 2259            .HasMaxLength(IdentifierMaxLength);
 60
 2261        _ = builder.Property(lifecycleEvent => lifecycleEvent.OperationName)
 2262            .HasMaxLength(OperationNameMaxLength);
 63
 2264        _ = builder.Property(lifecycleEvent => lifecycleEvent.Outcome)
 2265            .HasMaxLength(OutcomeMaxLength);
 66
 2267        _ = builder.Property(lifecycleEvent => lifecycleEvent.MetadataJson)
 2268            .IsRequired();
 69
 2270        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.EventId)
 2271            .IsUnique();
 72
 2273        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.Stage);
 74
 2275        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.StageSequence);
 76
 2277        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.OccurredUtc);
 78
 2279        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.CorrelationId);
 80
 2281        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.AuditResidueId);
 82
 2283        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.TraceId);
 84
 2285        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.OperationName);
 86
 2287        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.Outcome);
 88
 2289        _ = builder.HasIndex(lifecycleEvent => new
 2290        {
 2291            lifecycleEvent.CorrelationId,
 2292            lifecycleEvent.OccurredUtc
 2293        });
 94
 2295        _ = builder.HasIndex(lifecycleEvent => new
 2296        {
 2297            lifecycleEvent.AuditResidueId,
 2298            lifecycleEvent.OccurredUtc
 2299        });
 22100    }
 101}