< 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
87%
Covered lines: 7
Uncovered lines: 1
Coverable lines: 8
Total lines: 59
Line coverage: 87.5%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
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%22100%

File(s)

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

#LineLine coverage
 1using System.Reflection;
 2using Elsa.Persistence.EFCore.Modules.Runtime;
 3using Microsoft.EntityFrameworkCore.Infrastructure;
 4
 5// ReSharper disable once CheckNamespace
 6namespace Elsa.Persistence.EFCore.Extensions;
 7
 8/// <summary>
 9/// Provides extensions to configure EF Core to use SQL Server.
 10/// </summary>
 11public static class SqlServerProvidersExtensions
 12{
 1213    private static Assembly Assembly => typeof(SqlServerProvidersExtensions).Assembly;
 14
 15    public static TFeature UseSqlServer<TFeature, TDbContext>(this PersistenceFeatureBase<TFeature, TDbContext> feature,
 16        string connectionString,
 17        ElsaDbContextOptions? options = null,
 18        Action<SqlServerDbContextOptionsBuilder>? configure = null)
 19        where TDbContext : ElsaDbContextBase
 20        where TFeature : PersistenceFeatureBase<TFeature, TDbContext>
 21    {
 1222        return feature.UseSqlServer(Assembly, connectionString, options, configure);
 23    }
 24
 25    public static TFeature UseSqlServer<TFeature, TDbContext>(this PersistenceFeatureBase<TFeature, TDbContext> feature,
 26        Func<IServiceProvider, string> connectionStringFunc,
 27        ElsaDbContextOptions? options = null,
 28        Action<SqlServerDbContextOptionsBuilder>? configure = null)
 29        where TDbContext : ElsaDbContextBase
 30        where TFeature : PersistenceFeatureBase<TFeature, TDbContext>
 31    {
 032        return feature.UseSqlServer(Assembly, connectionStringFunc, options, configure);
 33    }
 34
 35    public static TFeature UseSqlServer<TFeature, TDbContext>(this PersistenceFeatureBase<TFeature, TDbContext> feature,
 36        Assembly migrationsAssembly,
 37        string connectionString,
 38        ElsaDbContextOptions? options = null,
 39        Action<SqlServerDbContextOptionsBuilder>? configure = null)
 40        where TDbContext : ElsaDbContextBase
 41        where TFeature : PersistenceFeatureBase<TFeature, TDbContext>
 42    {
 236443        return feature.UseSqlServer(migrationsAssembly, _ => connectionString, options, configure);
 44    }
 45
 46    public static TFeature UseSqlServer<TFeature, TDbContext>(this PersistenceFeatureBase<TFeature, TDbContext> feature,
 47        Assembly migrationsAssembly,
 48        Func<IServiceProvider, string> connectionStringFunc,
 49        ElsaDbContextOptions? options = null,
 50        Action<SqlServerDbContextOptionsBuilder>? configure = null)
 51        where TDbContext : ElsaDbContextBase
 52        where TFeature : PersistenceFeatureBase<TFeature, TDbContext>
 53    {
 236454        feature.DbContextOptionsBuilder = (sp, db) => db.UseElsaSqlServer(migrationsAssembly, connectionStringFunc(sp), 
 1255        if (feature is EFCoreWorkflowRuntimePersistenceFeature runtimePersistenceFeature)
 356            runtimePersistenceFeature.UseWorkflowCommitTransaction = true;
 1257        return (TFeature)feature;
 58    }
 59}