From 5334ec3ff80d851137c3ae33c8ce01ea434bdb9e Mon Sep 17 00:00:00 2001 From: Morten Christensen Date: Sat, 15 Dec 2012 10:12:17 -0100 Subject: [PATCH] Minor adjustment to the ctor's of DefaultDatabaseFactory and PetaPocoUnitOfWorkProvider that clarifies the use of either ConnectionStringName or a custom ConnectionString+ProviderName. --- .../Persistence/DefaultDatabaseFactory.cs | 27 ++++++++++--------- .../UnitOfWork/PetaPocoUnitOfWorkProvider.cs | 11 ++++++-- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/Umbraco.Core/Persistence/DefaultDatabaseFactory.cs b/src/Umbraco.Core/Persistence/DefaultDatabaseFactory.cs index 8789274600..bb2b12ac36 100644 --- a/src/Umbraco.Core/Persistence/DefaultDatabaseFactory.cs +++ b/src/Umbraco.Core/Persistence/DefaultDatabaseFactory.cs @@ -13,7 +13,8 @@ namespace Umbraco.Core.Persistence /// internal class DefaultDatabaseFactory : DisposableObject, IDatabaseFactory { - private readonly string _connectionString; + private readonly string _connectionStringName; + private readonly string _connectionString; private readonly string _providerName; private static volatile UmbracoDatabase _globalInstance = null; private static readonly object Locker = new object(); @@ -29,18 +30,18 @@ namespace Umbraco.Core.Persistence /// /// Constructor accepting custom connection string /// - /// - public DefaultDatabaseFactory(string connectionString) + /// Name of the connection string in web.config + public DefaultDatabaseFactory(string connectionStringName) { - Mandate.ParameterNotNullOrEmpty(connectionString, "connectionString"); - _connectionString = connectionString; + Mandate.ParameterNotNullOrEmpty(connectionStringName, "connectionStringName"); + _connectionStringName = connectionStringName; } /// /// Constructor accepting custom connectino string and provider name /// - /// - /// + /// Connection String to use with Database + /// Database Provider for the Connection String public DefaultDatabaseFactory(string connectionString, string providerName) { Mandate.ParameterNotNullOrEmpty(connectionString, "connectionString"); @@ -61,9 +62,9 @@ namespace Umbraco.Core.Persistence //double check if (_globalInstance == null) { - _globalInstance = string.IsNullOrEmpty(_providerName) - ? new UmbracoDatabase(_connectionString) - : new UmbracoDatabase(_connectionString, _providerName); + _globalInstance = string.IsNullOrEmpty(_providerName) == false && string.IsNullOrEmpty(_providerName) == false + ? new UmbracoDatabase(_connectionString, _providerName) + : new UmbracoDatabase(_connectionStringName); } } } @@ -74,9 +75,9 @@ namespace Umbraco.Core.Persistence if (!HttpContext.Current.Items.Contains(typeof(DefaultDatabaseFactory))) { HttpContext.Current.Items.Add(typeof (DefaultDatabaseFactory), - string.IsNullOrEmpty(_providerName) - ? new UmbracoDatabase(_connectionString) - : new UmbracoDatabase(_connectionString, _providerName)); + string.IsNullOrEmpty(_providerName) == false && string.IsNullOrEmpty(_providerName) == false + ? new UmbracoDatabase(_connectionString, _providerName) + : new UmbracoDatabase(_connectionStringName)); } return (UmbracoDatabase)HttpContext.Current.Items[typeof(DefaultDatabaseFactory)]; } diff --git a/src/Umbraco.Core/Persistence/UnitOfWork/PetaPocoUnitOfWorkProvider.cs b/src/Umbraco.Core/Persistence/UnitOfWork/PetaPocoUnitOfWorkProvider.cs index 21ab8cded4..fbdae5b5e4 100644 --- a/src/Umbraco.Core/Persistence/UnitOfWork/PetaPocoUnitOfWorkProvider.cs +++ b/src/Umbraco.Core/Persistence/UnitOfWork/PetaPocoUnitOfWorkProvider.cs @@ -1,5 +1,4 @@ -using System; -using Umbraco.Core.Configuration; +using Umbraco.Core.Configuration; namespace Umbraco.Core.Persistence.UnitOfWork { @@ -19,6 +18,14 @@ namespace Umbraco.Core.Persistence.UnitOfWork } + /// + /// Constructor accepting custom connectino string and provider name + /// + /// Connection String to use with Database + /// Database Provider for the Connection String + public PetaPocoUnitOfWorkProvider(string connectionString, string providerName) : this(new DefaultDatabaseFactory(connectionString, providerName)) + {} + /// /// Constructor accepting an IDatabaseFactory instance ///