Skip to content

Commit b79065e

Browse files
committed
Optimize CombineProjections()
1 parent 52c501d commit b79065e

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

Orm/Xtensive.Orm/Orm/Linq/Translator.Queryable.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1253,7 +1253,10 @@ private ProjectionExpression CombineProjections(ProjectionExpression outer, Proj
12531253
{
12541254
var outerDataSource = outer.ItemProjector.DataSource;
12551255
var outerLength = outerDataSource.Header.Length;
1256-
var tupleParameterBindings = outer.TupleParameterBindings.Union(inner.TupleParameterBindings).ToDictionary(pair => pair.Key, pair => pair.Value);
1256+
Dictionary<Parameter<Tuple>, Tuple> tupleParameterBindings = new(outer.TupleParameterBindings);
1257+
foreach (var pair in inner.TupleParameterBindings) {
1258+
tupleParameterBindings.TryAdd(pair.Key, pair.Value);
1259+
}
12571260
outer = new ProjectionExpression(outer.Type, outer.ItemProjector.Remap(recordQuery, 0), tupleParameterBindings);
12581261
inner = new ProjectionExpression(inner.Type, inner.ItemProjector.Remap(recordQuery, outerLength), tupleParameterBindings);
12591262

0 commit comments

Comments
 (0)