< Summary

Information
Class: AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneHandshakeAcknowledgmentMetadataEntityConfiguration
Assembly: AsiBackbone.EntityFrameworkCore
File(s): /home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.EntityFrameworkCore/Configurations/AsiBackboneHandshakeAcknowledgmentMetadataEntityConfiguration.cs
Line coverage
100%
Covered lines: 30
Uncovered lines: 0
Coverable lines: 30
Total lines: 62
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/AsiBackboneHandshakeAcknowledgmentMetadataEntityConfiguration.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
 9/// <see cref="AsiBackboneHandshakeAcknowledgmentMetadataEntity" />.
 10/// </summary>
 11public sealed class AsiBackboneHandshakeAcknowledgmentMetadataEntityConfiguration
 12    : IEntityTypeConfiguration<AsiBackboneHandshakeAcknowledgmentMetadataEntity>
 13{
 14    private const int MetadataKeyMaxLength = 256;
 15    private const int MetadataValueMaxLength = 4096;
 16    private const int ConcurrencyStampMaxLength = 64;
 17
 18    /// <inheritdoc />
 19    public void Configure(EntityTypeBuilder<AsiBackboneHandshakeAcknowledgmentMetadataEntity> builder)
 20    {
 2221        ArgumentNullException.ThrowIfNull(builder);
 22
 2223        _ = builder.ToTable("AsiBackboneHandshakeAcknowledgmentMetadata");
 24
 2225        _ = builder.HasKey(metadata => metadata.Id);
 26
 2227        _ = builder.Property(metadata => metadata.Id)
 2228            .ValueGeneratedNever();
 29
 2230        _ = builder.Property(metadata => metadata.ConcurrencyStamp)
 2231            .IsRequired()
 2232            .HasMaxLength(ConcurrencyStampMaxLength)
 2233            .IsConcurrencyToken();
 34
 2235        _ = builder.Property(metadata => metadata.HandshakeAcknowledgmentId)
 2236            .IsRequired();
 37
 2238        _ = builder.Property(metadata => metadata.MetadataKey)
 2239            .IsRequired()
 2240            .HasMaxLength(MetadataKeyMaxLength);
 41
 2242        _ = builder.Property(metadata => metadata.MetadataValue)
 2243            .IsRequired()
 2244            .HasMaxLength(MetadataValueMaxLength);
 45
 2246        _ = builder.HasOne(metadata => metadata.HandshakeAcknowledgment)
 2247            .WithMany()
 2248            .HasForeignKey(metadata => metadata.HandshakeAcknowledgmentId)
 2249            .OnDelete(DeleteBehavior.Cascade);
 50
 2251        _ = builder.HasIndex(metadata => metadata.HandshakeAcknowledgmentId);
 52
 2253        _ = builder.HasIndex(metadata => metadata.MetadataKey);
 54
 2255        _ = builder.HasIndex(metadata => new
 2256        {
 2257            metadata.HandshakeAcknowledgmentId,
 2258            metadata.MetadataKey
 2259        })
 2260        .IsUnique();
 2261    }
 62}