File tree Expand file tree Collapse file tree
Extensions/Xtensive.Orm.BulkOperations/Internals Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- using System . Linq . Expressions ;
1+ using System . Linq . Expressions ;
2+ using Xtensive . Linq ;
23using Xtensive . Orm . Model ;
34using Xtensive . Sql . Dml ;
45
@@ -16,5 +17,10 @@ internal class AddValueContext
1617 public FieldInfo Field { get ; set ; }
1718
1819 public bool SubqueryExists { get ; set ; }
20+
21+ public object EvalLambdaBody ( ) =>
22+ Lambda . Body is ConstantExpression ce
23+ ? ce . Value
24+ : FastExpression . Lambda ( Lambda . Body ) . Compile ( ) . DynamicInvoke ( ) ;
1925 }
20- }
26+ }
Original file line number Diff line number Diff line change @@ -146,10 +146,7 @@ private void AddComputedExpression(AddValueContext addContext)
146146 private void AddConstantValue ( AddValueContext addContext )
147147 {
148148 SqlTableColumn column = SqlDml . TableColumn ( addContext . Statement . Table , addContext . Field . Column . Name ) ;
149- var constant =
150- addContext . Lambda . Body is ConstantExpression ce
151- ? ce . Value
152- : FastExpression . Lambda ( addContext . Lambda . Body ) . Compile ( ) . DynamicInvoke ( ) ;
149+ var constant = addContext . EvalLambdaBody ( ) ;
153150 SqlExpression value ;
154151 if ( constant == null ) {
155152 value = SqlDml . Null ;
@@ -227,9 +224,7 @@ private void AddEntityValue(AddValueContext addContext)
227224 }
228225 }
229226 i = - 1 ;
230- var entity = ( IEntity ) ( addContext . Lambda . Body is ConstantExpression ce
231- ? ce . Value
232- : FastExpression . Lambda ( addContext . Lambda . Body ) . Compile ( ) . DynamicInvoke ( ) ) ;
227+ var entity = ( IEntity ) addContext . EvalLambdaBody ( ) ;
233228
234229 foreach ( ColumnInfo column in addContext . Field . Columns ) {
235230 i ++ ;
You can’t perform that action at this time.
0 commit comments