@@ -37,13 +37,17 @@ private Expression RemapWithNoCheck(int offset, Dictionary<Expression, Expressio
3737 {
3838 var newMapping = new Segment < int > ( Mapping . Offset + offset , Mapping . Length ) ;
3939
40- FieldExpression Remap ( FieldExpression f ) => ( FieldExpression ) f . Remap ( offset , processedExpressions ) ;
41-
4240 var fields = KeyFields . Select ( Remap ) . ToArray ( KeyFields . Count ) ;
4341 var result = new KeyExpression ( EntityType , fields , newMapping , UnderlyingProperty , OuterParameter , DefaultIfEmpty ) ;
4442
4543 processedExpressions . Add ( this , result ) ;
4644 return result ;
45+
46+
47+ FieldExpression Remap ( FieldExpression f )
48+ {
49+ return ( FieldExpression ) f . Remap ( offset , processedExpressions ) ;
50+ }
4751 }
4852
4953 public override Expression Remap ( IReadOnlyList < int > map , Dictionary < Expression , Expression > processedExpressions )
@@ -93,14 +97,17 @@ public override Expression BindParameter(
9397 private Expression BindParameterWithNoCheck (
9498 ParameterExpression parameter , Dictionary < Expression , Expression > processedExpressions )
9599 {
96- FieldExpression BindParameter ( FieldExpression f )
97- => ( FieldExpression ) f . BindParameter ( parameter , processedExpressions ) ;
98-
99100 var fields = KeyFields . Select ( BindParameter ) . ToArray ( KeyFields . Count ) ;
100101 var result = new KeyExpression ( EntityType , fields , Mapping , UnderlyingProperty , parameter , DefaultIfEmpty ) ;
101102
102103 processedExpressions . Add ( this , result ) ;
103104 return result ;
105+
106+
107+ FieldExpression BindParameter ( FieldExpression f )
108+ {
109+ return ( FieldExpression ) f . BindParameter ( parameter , processedExpressions ) ;
110+ }
104111 }
105112
106113 public override Expression RemoveOuterParameter ( Dictionary < Expression , Expression > processedExpressions )
@@ -116,22 +123,23 @@ public override Expression RemoveOuterParameter(Dictionary<Expression, Expressio
116123 // in case processedExpressions dictionary already contains a result.
117124 private Expression RemoveOuterParameterWithNoCheck ( Dictionary < Expression , Expression > processedExpressions )
118125 {
119- FieldExpression RemoveOuterParameter ( FieldExpression f )
120- => ( FieldExpression ) f . RemoveOuterParameter ( processedExpressions ) ;
121-
122126 var fields = KeyFields . Select ( RemoveOuterParameter ) . ToArray ( KeyFields . Count ) ;
123127 var result = new KeyExpression ( EntityType , fields , Mapping , UnderlyingProperty , null , DefaultIfEmpty ) ;
124128
125129 processedExpressions . Add ( this , result ) ;
126130 return result ;
131+
132+
133+ FieldExpression RemoveOuterParameter ( FieldExpression f )
134+ {
135+ return ( FieldExpression ) f . RemoveOuterParameter ( processedExpressions ) ;
136+ }
127137 }
128138
129139 public static KeyExpression Create ( TypeInfo entityType , int offset )
130140 {
131141 var mapping = new Segment < int > ( offset , entityType . Key . TupleDescriptor . Count ) ;
132142
133- FieldExpression CreateField ( ColumnInfo c ) => FieldExpression . CreateField ( c . Field , offset ) ;
134-
135143 var fields = entityType . IsLocked
136144 ? entityType . Key . Columns . Select ( CreateField ) . ToArray ( entityType . Key . Columns . Count )
137145 : entityType . Columns
@@ -140,6 +148,12 @@ public static KeyExpression Create(TypeInfo entityType, int offset)
140148 . Select ( CreateField )
141149 . ToArray ( ) ;
142150 return new KeyExpression ( entityType , fields , mapping , WellKnownMembers . IEntityKey , null , false ) ;
151+
152+
153+ FieldExpression CreateField ( ColumnInfo c )
154+ {
155+ return FieldExpression . CreateField ( c . Field , offset ) ;
156+ }
143157 }
144158
145159
0 commit comments