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. |