|
From: <fab...@us...> - 2011-04-24 14:19:07
|
Revision: 5755
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5755&view=rev
Author: fabiomaulo
Date: 2011-04-24 14:19:01 +0000 (Sun, 24 Apr 2011)
Log Message:
-----------
Fix NH-2569
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/IdGeneratorBinder.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2569/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2569/Fixture.cs
Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/IdGeneratorBinder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/IdGeneratorBinder.cs 2011-04-23 20:42:26 UTC (rev 5754)
+++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/IdGeneratorBinder.cs 2011-04-24 14:19:01 UTC (rev 5755)
@@ -40,12 +40,12 @@
var results = new Dictionary<string, string>();
if (schema != null)
- results.Add(Id.PersistentIdGeneratorParmsNames.Schema, schema);
- else if (mappings.SchemaName != null)
- results.Add(Id.PersistentIdGeneratorParmsNames.Schema, mappings.Dialect.QuoteForSchemaName(mappings.SchemaName));
+ results[Id.PersistentIdGeneratorParmsNames.Schema] = schema;
+ if (mappings.SchemaName != null)
+ results[Id.PersistentIdGeneratorParmsNames.Schema] = mappings.Dialect.QuoteForSchemaName(mappings.SchemaName);
foreach (HbmParam paramSchema in generatorMapping.param ?? new HbmParam[0])
- results.Add(paramSchema.name, paramSchema.GetText());
+ results[paramSchema.name] = paramSchema.GetText();
return results;
}
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2569/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2569/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2569/Fixture.cs 2011-04-24 14:19:01 UTC (rev 5755)
@@ -0,0 +1,38 @@
+using NHibernate.Cfg;
+using NHibernate.Dialect;
+using NHibernate.Mapping;
+using NHibernate.Mapping.ByCode;
+using NUnit.Framework;
+using SharpTestsEx;
+namespace NHibernate.Test.NHSpecificTest.NH2569
+{
+ public class MyClass
+ {
+ public virtual int Id { get; set; }
+ }
+
+ public class Fixture
+ {
+ [Test]
+ public void WhenMapHiloToDifferentSchemaThanClassThenIdHasTheMappedSchema()
+ {
+ var mapper = new ModelMapper();
+ mapper.Class<MyClass>(cm =>
+ {
+ cm.Schema("aSchema");
+ cm.Id(x => x.Id, idm => idm.Generator(Generators.HighLow, gm => gm.Params(new
+ {
+ table = "hilosequences",
+ schema="gSchema"
+ })));
+ });
+ var conf = new Configuration();
+ conf.DataBaseIntegration(x=> x.Dialect<MsSql2008Dialect>());
+ conf.AddDeserializedMapping(mapper.CompileMappingForAllExplicitAddedEntities(), "wholeDomain");
+
+ var mappings = conf.CreateMappings(Dialect.Dialect.GetDialect());
+ var pc = mappings.GetClass(typeof(MyClass).FullName);
+ ((SimpleValue)pc.Identifier).IdentifierGeneratorProperties["schema"].Should().Be("gSchema");
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-23 20:42:26 UTC (rev 5754)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2011-04-24 14:19:01 UTC (rev 5755)
@@ -773,6 +773,7 @@
<Compile Include="NHSpecificTest\NH2554\Model.cs" />
<Compile Include="NHSpecificTest\NH2565\Domain.cs" />
<Compile Include="NHSpecificTest\NH2565\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2569\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2580\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2583\AbstractMassTestingFixture.cs" />
<Compile Include="NHSpecificTest\NH2583\Domain.cs" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|