Skip to content

Commit 3715542

Browse files
committed
Made Mappings on FluentlyConfigure repeatable
1 parent 8f69001 commit 3715542

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

src/FluentNHibernate/Cfg/FluentConfiguration.cs

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,19 @@ namespace FluentNHibernate.Cfg
1212
/// </summary>
1313
public class FluentConfiguration
1414
{
15-
private const string ExceptionMessage = "An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.";
16-
private const string ExceptionDatabaseMessage = "Database was not configured through Database method.";
17-
private const string ExceptionMappingMessage = "No mappings were configured through the Mappings method.";
18-
19-
private readonly Configuration cfg;
20-
private bool dbSet;
21-
private bool mappingsSet;
22-
private readonly IList<Action<Configuration>> configAlterations = new List<Action<Configuration>>();
15+
const string ExceptionMessage = "An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection, and InnerException for more detail.";
16+
const string ExceptionDatabaseMessage = "Database was not configured through Database method.";
17+
const string ExceptionMappingMessage = "No mappings were configured through the Mappings method.";
18+
19+
readonly Configuration cfg;
20+
readonly IList<Action<Configuration>> configAlterations = new List<Action<Configuration>>();
2321
readonly IDiagnosticMessageDespatcher despatcher = new DefaultDiagnosticMessageDespatcher();
22+
readonly List<Action<MappingConfiguration>> mappingsBuilders = new List<Action<MappingConfiguration>>();
23+
24+
bool dbSet;
25+
bool mappingsSet;
26+
2427
IDiagnosticLogger logger = new NullDiagnosticsLogger();
25-
Action<MappingConfiguration> mappingsBuilder;
2628

2729
internal FluentConfiguration()
2830
: this(new Configuration())
@@ -80,7 +82,7 @@ public FluentConfiguration Database(IPersistenceConfigurer config)
8082
/// <returns>Fluent configuration</returns>
8183
public FluentConfiguration Mappings(Action<MappingConfiguration> mappings)
8284
{
83-
mappingsBuilder = mappings;
85+
mappingsBuilders.Add(mappings);
8486
mappingsSet = true;
8587
return this;
8688
}
@@ -94,6 +96,7 @@ public FluentConfiguration ExposeConfiguration(Action<Configuration> config)
9496
{
9597
if (config != null)
9698
configAlterations.Add(config);
99+
97100
return this;
98101
}
99102

@@ -124,8 +127,8 @@ public Configuration BuildConfiguration()
124127
{
125128
var mappingCfg = new MappingConfiguration(logger);
126129

127-
if (mappingsBuilder != null)
128-
mappingsBuilder(mappingCfg);
130+
foreach (var builder in mappingsBuilders)
131+
builder(mappingCfg);
129132

130133
mappingCfg.Apply(Configuration);
131134

0 commit comments

Comments
 (0)