-
-
Notifications
You must be signed in to change notification settings - Fork 10
Simplify.EntityFramework
Alexanderius edited this page Jun 27, 2026
·
1 revision
Simplifies Entity Framework Core connection configuration by building SQL Server connection strings from Simplify-style database connection settings.
Available at NuGet as binary package
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.
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);public class MyDbContext(IConfiguration configuration) : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connectionString = SettingsBasedConnectionString.Build(configuration);
optionsBuilder.UseSqlServer(connectionString);
}
}// Thrown when the database connection configuration is missing or incomplete.
public sealed class DatabaseConnectionConfigurationException : Exception;
// General Simplify.EntityFramework related exception.
public class SimplifyEntityFrameworkException : Exception;