WindowsAzure.Table.Queryable.Expressions.Methods.TakeTranslator.Translate C# (CSharp) Method

Translate() public method

public Translate ( MethodCallExpression method, ITranslationResult result ) : void
method System.Linq.Expressions.MethodCallExpression
result ITranslationResult
return void
        public void Translate(MethodCallExpression method, ITranslationResult result)
        {
            if (method.Method.Name != MethodName || method.Arguments.Count != 2)
            {
                var message = string.Format(Resources.TranslatorMemberNotSupported, method.NodeType);
                throw new ArgumentOutOfRangeException(nameof(method), message);
            }

            var constant = (ConstantExpression) method.Arguments[1];

            result.AddTop((int) constant.Value);
        }
    }

Usage Example

Exemplo n.º 1
0
        public void TakeWithInvalidMethod()
        {
            // Arrange
            var translator = new TakeTranslator();
            IQueryable<Country> query = GetQueryable().Where(p => p.Name == string.Empty);
            var translation = new TranslationResult();

            // Act
            Assert.Throws<ArgumentOutOfRangeException>(() => translator.Translate((MethodCallExpression) query.Expression, translation));

            // Assert
            Assert.NotNull(translation.TableQuery);
            Assert.Null(translation.TableQuery.TakeCount);
        }
All Usage Examples Of WindowsAzure.Table.Queryable.Expressions.Methods.TakeTranslator::Translate
TakeTranslator