Skip to content

Simplify.EntityFramework

Alexanderius edited this page Jun 27, 2026 · 1 revision

Simplify.EntityFramework Documentation

Simplifies Entity Framework Core connection configuration by building SQL Server connection strings from Simplify-style database connection settings.

Available at NuGet as binary package

Database Connection Settings

The DatabaseConnectionSettings configuration section describes the database connection:

{
  "DatabaseConnectionSettings": {
    "ServerName": "localhost",
    "DataBaseName": "MyDatabase",
    "UserName": "sa",
    "UserPassword": "password",
    "ShowSql": "false",
    "Port": "1433"
  }
}

ServerName, DataBaseName, and UserName are required — a missing value throws DatabaseConnectionConfigurationException. UserPassword, ShowSql, and Port are optional.

These are mapped to the DbConnectionSettings class:

public class DbConnectionSettings
{
    public string ServerName { get; protected set; }
    public string DataBaseName { get; protected set; }
    public string UserName { get; protected set; }
    public string UserPassword { get; protected set; }
    public bool ShowSql { get; protected set; }
    public int? Port { get; protected set; }
}

ConfigurationBasedDbConnectionSettings is an IConfiguration-based implementation that loads and validates these values from a configuration section.

Building a Connection String

SettingsBasedConnectionString builds a SQL Server connection string from the settings:

// Builds the connection string from a configuration section (default section: "DatabaseConnectionSettings").
public static string Build(IConfiguration configuration, string configSectionName = "DatabaseConnectionSettings");

// Builds the connection string from a DbConnectionSettings instance.
public static string Build(DbConnectionSettings settings);

Usage Example

public class MyDbContext(IConfiguration configuration) : DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        var connectionString = SettingsBasedConnectionString.Build(configuration);
        optionsBuilder.UseSqlServer(connectionString);
    }
}

Exceptions

// Thrown when the database connection configuration is missing or incomplete.
public sealed class DatabaseConnectionConfigurationException : Exception;

// General Simplify.EntityFramework related exception.
public class SimplifyEntityFrameworkException : Exception;

Clone this wiki locally