diff --git a/src/NHibernate.Test/Async/NHSpecificTest/GH2463/Fixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/GH2463/Fixture.cs new file mode 100644 index 00000000000..be3772785b3 --- /dev/null +++ b/src/NHibernate.Test/Async/NHSpecificTest/GH2463/Fixture.cs @@ -0,0 +1,41 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by AsyncGenerator. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + + +using System.Linq; +using NHibernate.DomainModel; +using NUnit.Framework; +using NHibernate.Linq; + +namespace NHibernate.Test.NHSpecificTest.GH2463 +{ + using System.Threading.Tasks; + [TestFixture] + public class FixtureAsync : TestCase + { + protected override string[] Mappings + { + get { return new[] {"ABC.hbm.xml"}; } + } + + [Test] + public async Task CanJoinOnEntityWithDiscriminatorAsync() + { + using (var s = OpenSession()) + { + await (s.Query().Join( + s.Query(), + a => a.Id, + b => b.Id, + (a, b) => + new {a, b}).ToListAsync()); + } + } + } +} diff --git a/src/NHibernate.Test/NHSpecificTest/GH2463/Fixture.cs b/src/NHibernate.Test/NHSpecificTest/GH2463/Fixture.cs new file mode 100644 index 00000000000..3c18a008262 --- /dev/null +++ b/src/NHibernate.Test/NHSpecificTest/GH2463/Fixture.cs @@ -0,0 +1,29 @@ +using System.Linq; +using NHibernate.DomainModel; +using NUnit.Framework; + +namespace NHibernate.Test.NHSpecificTest.GH2463 +{ + [TestFixture] + public class Fixture : TestCase + { + protected override string[] Mappings + { + get { return new[] {"ABC.hbm.xml"}; } + } + + [Test] + public void CanJoinOnEntityWithDiscriminator() + { + using (var s = OpenSession()) + { + s.Query().Join( + s.Query(), + a => a.Id, + b => b.Id, + (a, b) => + new {a, b}).ToList(); + } + } + } +} diff --git a/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs b/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs index d6f3a7f0861..32c7f88d15a 100644 --- a/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs +++ b/src/NHibernate/Hql/Ast/ANTLR/HqlSqlWalker.cs @@ -794,8 +794,7 @@ private IQueryable ResolveEntityJoinReferencedPersister(IASTNode path) if (path.Type == IDENT) { var pathIdentNode = (IdentNode) path; - string name = path.Text ?? pathIdentNode.OriginalText; - return SessionFactoryHelper.FindQueryableUsingImports(name); + return SessionFactoryHelper.FindQueryableUsingImports(pathIdentNode.Path); } else if (path.Type == DOT) {