using System.Configuration; using Abp.Configuration.Startup; using Abp.Dependency; namespace Abp.Domain.Uow { /// /// Default implementation of . /// Get connection string from , /// or "Default" connection string in config file, /// or single connection string in config file. /// public class DefaultConnectionStringResolver : IConnectionStringResolver, ITransientDependency { private readonly IAbpStartupConfiguration _configuration; /// /// Initializes a new instance of the class. /// public DefaultConnectionStringResolver(IAbpStartupConfiguration configuration) { _configuration = configuration; } public virtual string GetNameOrConnectionString(ConnectionStringResolveArgs args) { Check.NotNull(args, nameof(args)); var defaultConnectionString = _configuration.DefaultNameOrConnectionString; if (!string.IsNullOrWhiteSpace(defaultConnectionString)) { return defaultConnectionString; } if (ConfigurationManager.ConnectionStrings["Default"] != null) { return "Default"; } if (ConfigurationManager.ConnectionStrings.Count == 1) { return ConfigurationManager.ConnectionStrings[0].ConnectionString; } throw new AbpException("Could not find a connection string definition for the application. Set IAbpStartupConfiguration.DefaultNameOrConnectionString or add a 'Default' connection string to application .config file."); } } }