|
From: <fab...@us...> - 2010-07-21 17:19:57
|
Revision: 5031
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5031&view=rev
Author: fabiomaulo
Date: 2010-07-21 17:19:49 +0000 (Wed, 21 Jul 2010)
Log Message:
-----------
Fix NH-2243
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Person.cs
Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2010-07-21 14:33:45 UTC (rev 5030)
+++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ClassBinder.cs 2010-07-21 17:19:49 UTC (rev 5031)
@@ -200,6 +200,7 @@
// KEY
SimpleValue key = new DependantValue(table, persistentClass.Identifier);
+ key.ForeignKeyName = joinMapping.key.foreignkey;
join.Key = key;
key.IsCascadeDeleteEnabled = joinMapping.key.ondelete == HbmOndelete.Cascade;
new ValuePropertyBinder(key, Mappings).BindSimpleValue(joinMapping.key, persistentClass.EntityName, false);
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Fixture.cs 2010-07-21 17:19:49 UTC (rev 5031)
@@ -0,0 +1,27 @@
+using System.IO;
+using System.Reflection;
+using System.Text;
+using NHibernate.Cfg;
+using NHibernate.Tool.hbm2ddl;
+using NUnit.Framework;
+using SharpTestsEx;
+
+namespace NHibernate.Test.NHSpecificTest.NH2243
+{
+ public class Fixture
+ {
+ [Test]
+ public void ShouldCreateSchemaWithDefaultClause()
+ {
+ var script = new StringBuilder();
+ const string mapping = "NHibernate.Test.NHSpecificTest.NH2243.Mappings.hbm.xml";
+
+ Configuration cfg = TestConfigurationHelper.GetDefaultConfiguration();
+ using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(mapping))
+ cfg.AddInputStream(stream);
+ new SchemaExport(cfg).Execute(s => script.AppendLine(s), false, false);
+
+ script.ToString().Should().Contain("MyNameForFK");
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Mappings.hbm.xml 2010-07-21 17:19:49 UTC (rev 5031)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
+ assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2243">
+
+ <class name="Person" table="Person1">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ <property name="Name"/>
+ <join table="Person2">
+ <key column="PersonId" foreign-key="MyNameForFK" />
+ <property name="Address"/>
+ </join>
+ </class>
+</hibernate-mapping>
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Person.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Person.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2243/Person.cs 2010-07-21 17:19:49 UTC (rev 5031)
@@ -0,0 +1,9 @@
+namespace NHibernate.Test.NHSpecificTest.NH2243
+{
+ public class Person
+ {
+ public virtual int Id { get; set; }
+ public virtual string Name { get; set; }
+ public virtual string Address { get; set; }
+ }
+}
\ No newline at end of file
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-07-21 14:33:45 UTC (rev 5030)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-07-21 17:19:49 UTC (rev 5031)
@@ -758,6 +758,8 @@
<Compile Include="NHSpecificTest\NH2242\EscapedFormulaDomainClass.cs" />
<Compile Include="NHSpecificTest\NH2242\FormulaTest.cs" />
<Compile Include="NHSpecificTest\NH2242\UnescapedFormulaDomainClass.cs" />
+ <Compile Include="NHSpecificTest\NH2243\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2243\Person.cs" />
<Compile Include="NHSpecificTest\NH473\Child.cs" />
<Compile Include="NHSpecificTest\NH473\Fixture.cs" />
<Compile Include="NHSpecificTest\NH473\Parent.cs" />
@@ -2195,6 +2197,7 @@
<EmbeddedResource Include="DriverTest\SqlServerCeEntity.hbm.xml" />
<EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH2243\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH1891\FormulaEscaping.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2242\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2234\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|