|
From: <pa...@us...> - 2011-01-16 21:55:47
|
Revision: 5355
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5355&view=rev
Author: patearl
Date: 2011-01-16 21:55:41 +0000 (Sun, 16 Jan 2011)
Log Message:
-----------
Linq: Ignore duplicate joins when building expression map (NH2362).
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Linq/Visitors/LeftJoinDetector.cs
trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs
Modified: trunk/nhibernate/src/NHibernate/Linq/Visitors/LeftJoinDetector.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Linq/Visitors/LeftJoinDetector.cs 2011-01-16 20:55:13 UTC (rev 5354)
+++ trunk/nhibernate/src/NHibernate/Linq/Visitors/LeftJoinDetector.cs 2011-01-16 21:55:41 UTC (rev 5355)
@@ -31,8 +31,9 @@
if (expression.Type.IsNonPrimitive() && IsEntity(expression.Type))
{
var newExpr = AddJoin(expression);
- _expressionMap.Add(expression, newExpr);
- return newExpr;
+ if (!_expressionMap.ContainsKey(expression) || !_expressionMap[expression].Equals(newExpr)) // Second clause is sanity check.
+ _expressionMap.Add(expression, newExpr);
+ return newExpr;
}
return base.VisitMemberExpression(expression);
Modified: trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs
===================================================================
--- trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs 2011-01-16 20:55:13 UTC (rev 5354)
+++ trunk/nhibernate/src/NHibernate.Test/NHSpecificTest/NH2362/Fixture.cs 2011-01-16 21:55:41 UTC (rev 5355)
@@ -7,7 +7,6 @@
public class Fixture : BugTestCase
{
[Test]
- [Ignore("Not working yet.")]
public void CanParseMultipleGroupByAndSelect()
{
using (var session = OpenSession())
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|