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. |