Skip to content

Commit e2a3936

Browse files
committed
add support for registering multiple IDataConfiguration
1 parent f92367a commit e2a3936

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

src/FluentCommand/DataConfiguration.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,31 @@ public virtual DbConnection CreateConnection(string connectionString = null)
128128
connection.ConnectionString = connectionString;
129129
return connection;
130130
}
131+
}
131132

132133

134+
/// <summary>
135+
/// The database configuration by discriminator. Used to register multiple instances of IDataConfiguration.
136+
/// </summary>
137+
/// <typeparam name="TDiscriminator">The type of the discriminator.</typeparam>
138+
/// <seealso cref="FluentCommand.IDataConfiguration" />
139+
public class DataConfiguration<TDiscriminator> : DataConfiguration, IDataConfiguration<TDiscriminator>
140+
{
141+
/// <summary>
142+
/// Initializes a new instance of the <see cref="DataConfiguration{TDiscriminator}"/> class.
143+
/// </summary>
144+
/// <param name="providerFactory">The database provider factory.</param>
145+
/// <param name="connectionString">The database connection string.</param>
146+
/// <param name="cache">The data cache manager.</param>
147+
/// <param name="queryGenerator">The query generator.</param>
148+
/// <param name="queryLogger">The query command logger.</param>
149+
public DataConfiguration(
150+
DbProviderFactory providerFactory,
151+
string connectionString,
152+
IDataCache cache = null,
153+
IQueryGenerator queryGenerator = null,
154+
IDataQueryLogger queryLogger = null)
155+
: base(providerFactory, connectionString, cache, queryGenerator, queryLogger)
156+
{
157+
}
133158
}

src/FluentCommand/IDataConfiguration.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,12 @@ public interface IDataConfiguration
7676
/// </returns>
7777
DbConnection CreateConnection(string connectionString = null);
7878
}
79+
80+
/// <summary>
81+
/// The database configuration by discriminator. Used to register multiple instances of IDataConfiguration.
82+
/// </summary>
83+
/// <typeparam name="TDiscriminator">The type of the discriminator.</typeparam>
84+
public interface IDataConfiguration<TDiscriminator> : IDataConfiguration
85+
{
86+
87+
}

0 commit comments

Comments
 (0)