internal VfpNewInstanceExpression(TypeUsage type, VfpExpressionList arguments, ReadOnlyCollection <VfpRelatedEntityRef> relationships = null)
            : base(VfpExpressionKind.NewInstance, type)
        {
            Arguments = ArgumentUtility.CheckNotNull("arguments", arguments);

            if (relationships != null && relationships.Count > 0)
            {
                Relationships = relationships;
            }
        }
 internal VfpCaseExpression(TypeUsage commonResultType,
                            VfpExpressionList whenExpressions,
                            VfpExpressionList thenExpressions,
                            VfpExpression elseExpression)
     : base(VfpExpressionKind.Case, commonResultType)
 {
     When = ArgumentUtility.CheckNotNull("whenExpressions", whenExpressions);
     Then = ArgumentUtility.CheckNotNull("thenExpressions", thenExpressions);
     Else = ArgumentUtility.CheckNotNull("elseExpression", elseExpression);
 }
 public static VfpInExpression In(this VfpExpression expression, VfpExpressionList list)
 {
     return(new VfpInExpression(expression.ResultType, expression, list));
 }
예제 #4
0
 internal VfpAggregate(TypeUsage resultType, VfpExpressionList arguments)
 {
     ResultType = ArgumentUtility.CheckNotNull("resultType", resultType);
     Arguments  = ArgumentUtility.CheckNotNull("arguments", arguments);
 }
 internal VfpGroupByExpression(TypeUsage collectionOfRowResultType, VfpGroupExpressionBinding input, VfpExpressionList groupKeys, ReadOnlyCollection <VfpAggregate> aggregates)
     : base(VfpExpressionKind.GroupBy, collectionOfRowResultType)
 {
     Input      = ArgumentUtility.CheckNotNull("input", input);
     Keys       = ArgumentUtility.CheckNotNull("groupKeys", groupKeys);
     Aggregates = ArgumentUtility.CheckNotNull("aggregates", aggregates);
 }
예제 #6
0
 internal VfpLambdaExpression(TypeUsage resultType, VfpLambda lambda, VfpExpressionList arguments)
     : base(VfpExpressionKind.Lambda, resultType)
 {
     Lambda    = ArgumentUtility.CheckNotNull("lambda", lambda);
     Arguments = ArgumentUtility.CheckNotNull("arguments", arguments);
 }
예제 #7
0
 internal VfpFunctionExpression(TypeUsage resultType, EdmFunction function, VfpExpressionList arguments)
     : base(VfpExpressionKind.Function, resultType)
 {
     Function  = ArgumentUtility.CheckNotNull("function", function);
     Arguments = ArgumentUtility.CheckNotNull("arguments", arguments);
 }
 internal VfpArithmeticExpression(VfpExpressionKind kind, TypeUsage numericResultType, VfpExpressionList arguments)
     : base(kind, numericResultType)
 {
     Arguments = arguments;
 }
 internal VfpFunctionAggregate(TypeUsage resultType, VfpExpressionList arguments, EdmFunction function, bool isDistinct)
     : base(resultType, arguments)
 {
     Function = ArgumentUtility.CheckNotNull("function", function);
     Distinct = isDistinct;
 }
 internal VfpInExpression(TypeUsage booleanResultType, VfpExpression item, VfpExpressionList list)
     : base(VfpExpressionKind.In, booleanResultType)
 {
     Item = ArgumentUtility.CheckNotNull("item", item);
     List = ArgumentUtility.CheckNotNull("list", list);
 }