diff --git a/Orm/Xtensive.Orm/Orm/Linq/Translator.Queryable.cs b/Orm/Xtensive.Orm/Orm/Linq/Translator.Queryable.cs index 7f9aad345..e96cf1e4a 100644 --- a/Orm/Xtensive.Orm/Orm/Linq/Translator.Queryable.cs +++ b/Orm/Xtensive.Orm/Orm/Linq/Translator.Queryable.cs @@ -1253,7 +1253,10 @@ private ProjectionExpression CombineProjections(ProjectionExpression outer, Proj { var outerDataSource = outer.ItemProjector.DataSource; var outerLength = outerDataSource.Header.Length; - var tupleParameterBindings = outer.TupleParameterBindings.Union(inner.TupleParameterBindings).ToDictionary(pair => pair.Key, pair => pair.Value); + Dictionary, Tuple> tupleParameterBindings = new(outer.TupleParameterBindings); + foreach (var pair in inner.TupleParameterBindings) { + tupleParameterBindings.TryAdd(pair.Key, pair.Value); + } outer = new ProjectionExpression(outer.Type, outer.ItemProjector.Remap(recordQuery, 0), tupleParameterBindings); inner = new ProjectionExpression(inner.Type, inner.ItemProjector.Remap(recordQuery, outerLength), tupleParameterBindings);