|
From: <fab...@us...> - 2010-10-14 16:42:45
|
Revision: 5251
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5251&view=rev
Author: fabiomaulo
Date: 2010-10-14 16:42:37 +0000 (Thu, 14 Oct 2010)
Log Message:
-----------
Apply NH-2378 (by Juan Pedro Elizalde)
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Hql/Ast/HqlTreeNode.cs
trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
Added Paths:
-----------
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/Fixture.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/Mappings.hbm.xml
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/TestEntity.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/TestEntityDto.cs
Modified: trunk/nhibernate/src/NHibernate/Hql/Ast/HqlTreeNode.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Hql/Ast/HqlTreeNode.cs 2010-10-13 12:55:16 UTC (rev 5250)
+++ trunk/nhibernate/src/NHibernate/Hql/Ast/HqlTreeNode.cs 2010-10-14 16:42:37 UTC (rev 5251)
@@ -200,7 +200,10 @@
case TypeCode.Boolean:
SetText("bool");
break;
- case TypeCode.Int32:
+ case TypeCode.Int16:
+ SetText("short");
+ break;
+ case TypeCode.Int32:
SetText("integer");
break;
case TypeCode.Int64:
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/Fixture.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/Fixture.cs 2010-10-14 16:42:37 UTC (rev 5251)
@@ -0,0 +1,71 @@
+using System.Linq;
+using NHibernate.Linq;
+using NUnit.Framework;
+
+namespace NHibernate.Test.NHSpecificTest.NH2378
+{
+ [TestFixture]
+ public class Fixture : BugTestCase
+ {
+ protected override void OnSetUp()
+ {
+ base.OnSetUp();
+ using (var session = this.OpenSession())
+ using (var tx = session.BeginTransaction())
+ {
+ var entity = new TestEntity();
+ entity.Id = 1;
+ entity.Name = "Test Entity";
+ entity.TestPerson = new Person { Id = 1, Name = "TestUser" };
+ session.Save(entity);
+
+ var entity1 = new TestEntity();
+ entity1.Id = 2;
+ entity1.Name = "Test Entity";
+ entity1.TestPerson = new Person { Id = 2, Name = "TestUser" };
+ session.Save(entity1);
+
+ tx.Commit();
+ }
+ }
+
+ protected override void OnTearDown()
+ {
+ base.OnTearDown();
+ using (ISession session = this.OpenSession())
+ {
+ string hql = "from System.Object";
+ session.Delete(hql);
+ session.Flush();
+ }
+ }
+
+
+ [Test]
+ public void ShortEntityCanBeQueryCorrectlyUsingLinqProvider()
+ {
+ using (ISession session = this.OpenSession())
+ {
+ IQueryable<TestEntity> query = session.Query<TestEntity>();
+ IQueryable<TestEntityDto> list = query.Select(o => new TestEntityDto
+ {
+ EntityId = o.Id,
+ EntityName = o.Name,
+ PersonId =
+ (o.TestPerson != null)
+ ? o.TestPerson.Id
+ : (short) 0,
+ PersonName =
+ (o.TestPerson != null)
+ ? o.TestPerson.Name
+ : string.Empty
+ });
+
+ IQueryable<TestEntityDto> m = list.Where(o => o.PersonId == 2);
+
+
+ Assert.AreEqual(1, m.Count());
+ }
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/Mappings.hbm.xml
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/Mappings.hbm.xml (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/Mappings.hbm.xml 2010-10-14 16:42:37 UTC (rev 5251)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="NHibernate.Test"
+ namespace="NHibernate.Test.NHSpecificTest.NH2378" default-access="field.camelcase"
+ default-lazy="false">
+ <class name="TestEntity">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ <property name="Name" />
+
+ <many-to-one name="TestPerson" cascade="save-update">
+ <column name="PersonId"/>
+ </many-to-one>
+
+ </class>
+
+ <class name="Person">
+ <id name="Id">
+ <generator class="assigned" />
+ </id>
+ <property name="Name" />
+ </class>
+</hibernate-mapping>
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/TestEntity.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/TestEntity.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/TestEntity.cs 2010-10-14 16:42:37 UTC (rev 5251)
@@ -0,0 +1,45 @@
+namespace NHibernate.Test.NHSpecificTest.NH2378
+{
+ public class TestEntity
+ {
+ private string name;
+ private int id;
+ private Person testPerson;
+
+ public int Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public string Name
+ {
+ get { return name; }
+ set { name = value; }
+ }
+
+ public Person TestPerson
+ {
+ get { return testPerson; }
+ set { testPerson = value; }
+ }
+ }
+
+ public class Person
+ {
+ private string name;
+ private short id;
+
+ public short Id
+ {
+ get { return id; }
+ set { id = value; }
+ }
+
+ public string Name
+ {
+ get { return name; }
+ set { name = value; }
+ }
+ }
+}
\ No newline at end of file
Added: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/TestEntityDto.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/TestEntityDto.cs (rev 0)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2378/TestEntityDto.cs 2010-10-14 16:42:37 UTC (rev 5251)
@@ -0,0 +1,10 @@
+namespace NHibernate.Test.NHSpecificTest.NH2378
+{
+ public class TestEntityDto
+ {
+ public int EntityId { get; set; }
+ public string EntityName { get; set; }
+ public short PersonId { get; set; }
+ public string PersonName { get; set; }
+ }
+}
Modified: trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-10-13 12:55:16 UTC (rev 5250)
+++ trunk/nhibernate/src/NHibernate.Test/NHibernate.Test.csproj 2010-10-14 16:42:37 UTC (rev 5251)
@@ -533,6 +533,9 @@
<Compile Include="NHSpecificTest\NH2344\Model.cs" />
<Compile Include="NHSpecificTest\NH2361\Fixture.cs" />
<Compile Include="NHSpecificTest\NH2374\NH2374Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2378\Fixture.cs" />
+ <Compile Include="NHSpecificTest\NH2378\TestEntity.cs" />
+ <Compile Include="NHSpecificTest\NH2378\TestEntityDto.cs" />
<Compile Include="PolymorphicGetAndLoad\Domain.cs" />
<Compile Include="PolymorphicGetAndLoad\PolymorphicGetAndLoadTest.cs" />
<Compile Include="TypesTest\CharClass.cs" />
@@ -2335,6 +2338,7 @@
<EmbeddedResource Include="CollectionTest\NullableValueTypeElementMapFixture.hbm.xml" />
<EmbeddedResource Include="DriverTest\EntityForMs2008.hbm.xml" />
<Content Include="DynamicEntity\package.html" />
+ <EmbeddedResource Include="NHSpecificTest\NH2378\Mappings.hbm.xml" />
<EmbeddedResource Include="TypesTest\XDocClass.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2374\Mappings.hbm.xml" />
<EmbeddedResource Include="NHSpecificTest\NH2328\Mappings.hbm.xml" />
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|