Skip to content

Commit 20e899f

Browse files
committed
Use intermediate vars instead of complex expression in CreateLocalCollectionProjectionExpression()
1 parent f86c551 commit 20e899f

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

Orm/Xtensive.Orm/Orm/Linq/Translator.Expressions.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1594,10 +1594,12 @@ private static ProjectionExpression CreateLocalCollectionProjectionExpression(Ty
15941594
{
15951595
var storedEntityType = translator.State.TypeOfEntityStoredInKey;
15961596
var itemToTupleConverter = ItemToTupleConverter.BuildConverter(itemType, storedEntityType, value, translator.context.Model, sourceExpression);
1597-
var rsHeader = new RecordSetHeader(
1598-
itemToTupleConverter.TupleDescriptor,
1599-
itemToTupleConverter.TupleDescriptor.Select(x => new SystemColumn(translator.context.GetNextColumnAlias(), 0, x)).Cast<Column>().ToArray(itemToTupleConverter.TupleDescriptor.Count)
1600-
);
1597+
var tupleDescriptor = itemToTupleConverter.TupleDescriptor;
1598+
var columns = tupleDescriptor
1599+
.Select(x => new SystemColumn(translator.context.GetNextColumnAlias(), 0, x))
1600+
.Cast<Column>()
1601+
.ToArray(tupleDescriptor.Count);
1602+
var rsHeader = new RecordSetHeader(tupleDescriptor, columns);
16011603
var rawProvider = new RawProvider(rsHeader, itemToTupleConverter.GetEnumerable());
16021604
var recordset = new StoreProvider(rawProvider);
16031605
var itemProjector = new ItemProjectorExpression(itemToTupleConverter.Expression, recordset, translator.context);

0 commit comments

Comments
 (0)