From: <fab...@us...> - 2010-09-23 17:07:27
|
Revision: 5206 http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5206&view=rev Author: fabiomaulo Date: 2010-09-23 17:07:21 +0000 (Thu, 23 Sep 2010) Log Message: ----------- Fix NH-2138 Modified Paths: -------------- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ResultSetMappingBinder.cs trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj Added Paths: ----------- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2138/ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2138/Fixture.cs trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2138/Mappings.hbm.xml Modified: trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ResultSetMappingBinder.cs =================================================================== --- trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ResultSetMappingBinder.cs 2010-09-23 15:51:58 UTC (rev 5205) +++ trunk/nhibernate/src/NHibernate/Cfg/XmlHbmBinding/ResultSetMappingBinder.cs 2010-09-23 17:07:21 UTC (rev 5206) @@ -98,11 +98,11 @@ if (StringHelper.IsEmpty(alias)) alias = "alias_" + count; // hack/workaround as sqlquery impl depend on having a key. - string entityName = GetClassName(returnSchema.@class, mappings); - - if (entityName == null) + if (string.IsNullOrEmpty(returnSchema.@class) && string.IsNullOrEmpty(returnSchema.entityname)) throw new MappingException("<return alias='" + alias + "'> must specify either a class or entity-name"); + string entityName = returnSchema.entityname ?? GetClassName(returnSchema.@class, mappings); + LockMode lockMode = GetLockMode(returnSchema.lockmode); PersistentClass pc = mappings.GetClass(entityName); Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2138/Fixture.cs =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2138/Fixture.cs (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2138/Fixture.cs 2010-09-23 17:07:21 UTC (rev 5206) @@ -0,0 +1,21 @@ +using NHibernate.Engine.Query.Sql; +using NUnit.Framework; +using SharpTestsEx; + +namespace NHibernate.Test.NHSpecificTest.NH2138 +{ + [TestFixture] + public class Fixture + { + [Test] + public void AfterAddAppingShouldHaveAResultsetWithEntityName() + { + var cfg = TestConfigurationHelper.GetDefaultConfiguration(); + cfg.AddResource("NHibernate.Test.NHSpecificTest.NH2138.Mappings.hbm.xml", GetType().Assembly); + cfg.Executing(c => c.BuildMappings()).NotThrows(); + var sqlQuery = cfg.NamedSQLQueries["AllCoders"]; + var rootReturn = (NativeSQLQueryRootReturn)sqlQuery.QueryReturns[0]; + rootReturn.ReturnEntityName.Should().Be("Coder"); + } + } +} \ No newline at end of file Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2138/Mappings.hbm.xml =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2138/Mappings.hbm.xml (rev 0) +++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2138/Mappings.hbm.xml 2010-09-23 17:07:21 UTC (rev 5206) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8" ?> +<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> + + <class entity-name="Coder" table="persons"> + <id type="int"> + <generator class="increment" /> + </id> + <property name="Name" type="string"/> + </class> + + <sql-query name="AllCoders"> + <return entity-name="Coder" alias="c" /> + SELECT {c.*} + FROM persons c + </sql-query> +</hibernate-mapping> Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj =================================================================== --- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-23 15:51:58 UTC (rev 5205) +++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-09-23 17:07:21 UTC (rev 5206) @@ -467,6 +467,7 @@ <Compile Include="NHSpecificTest\NH1836\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2111\A.cs" /> <Compile Include="NHSpecificTest\NH2111\Fixture.cs" /> + <Compile Include="NHSpecificTest\NH2138\Fixture.cs" /> <Compile Include="NHSpecificTest\NH2148\BugFixture.cs" /> <Compile Include="NHSpecificTest\NH2148\Domain.cs" /> <Compile Include="NHSpecificTest\NH2224\Domain.cs" /> @@ -2291,6 +2292,7 @@ <EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" /> <EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" /> <Content Include="DynamicEntity\package.html" /> + <EmbeddedResource Include="NHSpecificTest\NH2138\Mappings.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2288\AclassWithDefault.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2288\AclassWithNothing.hbm.xml" /> <EmbeddedResource Include="NHSpecificTest\NH2288\AclassWithSpecific.hbm.xml" /> @@ -2628,7 +2630,6 @@ <EmbeddedResource Include="DynamicEntity\Tuplizer\Customer.hbm.xml" /> </ItemGroup> <ItemGroup> - <Folder Include="NHSpecificTest\NH1136" /> <Folder Include="Properties\" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |