< Summary

Information
Class: Elsa.Persistence.EFCore.Extensions.SqlServerProvidersExtensions
Assembly: Elsa.Persistence.EFCore.SqlServer
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.EFCore.SqlServer/SqlServerProvidersExtensions.cs
Line coverage
83%
Covered lines: 5
Uncovered lines: 1
Coverable lines: 6
Total lines: 56
Line coverage: 83.3%
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
get_Assembly()100%11100%
UseSqlServer(...)100%11100%
UseSqlServer(...)100%210%
UseSqlServer(...)100%11100%
UseSqlServer(...)100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Persistence.EFCore.SqlServer/SqlServerProvidersExtensions.cs

#LineLine coverage
 1using System.Reflection;
 2using Microsoft.EntityFrameworkCore.Infrastructure;
 3
 4// ReSharper disable once CheckNamespace
 5namespace Elsa.Persistence.EFCore.Extensions;
 6
 7/// <summary>
 8/// Provides extensions to configure EF Core to use SQL Server.
 9/// </summary>
 10public static class SqlServerProvidersExtensions
 11{
 2812    private static Assembly Assembly => typeof(SqlServerProvidersExtensions).Assembly;
 13
 14    public static TFeature UseSqlServer<TFeature, TDbContext>(this PersistenceFeatureBase<TFeature, TDbContext> feature,
 15        string connectionString,
 16        ElsaDbContextOptions? options = null,
 17        Action<SqlServerDbContextOptionsBuilder>? configure = null)
 18        where TDbContext : ElsaDbContextBase
 19        where TFeature : PersistenceFeatureBase<TFeature, TDbContext>
 20    {
 2821        return feature.UseSqlServer(Assembly, connectionString, options, configure);
 22    }
 23
 24    public static TFeature UseSqlServer<TFeature, TDbContext>(this PersistenceFeatureBase<TFeature, TDbContext> feature,
 25        Func<IServiceProvider, string> connectionStringFunc,
 26        ElsaDbContextOptions? options = null,
 27        Action<SqlServerDbContextOptionsBuilder>? configure = null)
 28        where TDbContext : ElsaDbContextBase
 29        where TFeature : PersistenceFeatureBase<TFeature, TDbContext>
 30    {
 031        return feature.UseSqlServer(Assembly, connectionStringFunc, options, configure);
 32    }
 33
 34    public static TFeature UseSqlServer<TFeature, TDbContext>(this PersistenceFeatureBase<TFeature, TDbContext> feature,
 35        Assembly migrationsAssembly,
 36        string connectionString,
 37        ElsaDbContextOptions? options = null,
 38        Action<SqlServerDbContextOptionsBuilder>? configure = null)
 39        where TDbContext : ElsaDbContextBase
 40        where TFeature : PersistenceFeatureBase<TFeature, TDbContext>
 41    {
 230142        return feature.UseSqlServer(migrationsAssembly, _ => connectionString, options, configure);
 43    }
 44
 45    public static TFeature UseSqlServer<TFeature, TDbContext>(this PersistenceFeatureBase<TFeature, TDbContext> feature,
 46        Assembly migrationsAssembly,
 47        Func<IServiceProvider, string> connectionStringFunc,
 48        ElsaDbContextOptions? options = null,
 49        Action<SqlServerDbContextOptionsBuilder>? configure = null)
 50        where TDbContext : ElsaDbContextBase
 51        where TFeature : PersistenceFeatureBase<TFeature, TDbContext>
 52    {
 230153        feature.DbContextOptionsBuilder = (sp, db) => db.UseElsaSqlServer(migrationsAssembly, connectionStringFunc(sp), 
 2854        return (TFeature)feature;
 55    }
 56}