Пример #1
0
        private string VisitMemberExpression(MemberExpression memberExpression)
        {
            if (memberExpression.Expression != null &&
                memberExpression.Expression.NodeType == ExpressionType.Parameter)
            {
                return(ModelUtility.GetColumnName <TModel>(memberExpression.Member));
            }

            object value = GetMemberExpressionValue(memberExpression);

            var enumerableValue = value as IEnumerable;

            if (enumerableValue != null)
            {
                var quotedValues = enumerableValue.Cast <object>()
                                   .Select(item => _dialect.QuoteValue(item, item.GetType()));

                return(string.Join(",", quotedValues));
            }

            return(_dialect.QuoteValue(value, value != null ? value.GetType() : null));
        }
Пример #2
0
 public ISelectQuery <TModel> OrderByDescending <TProperty>(Expression <Func <TModel, TProperty> > column)
 {
     _orderConditions.Add(ModelUtility.GetColumnName(column) + " DESC");
     return(this);
 }
Пример #3
0
        public void GetColumnName_Expression2()
        {
            var actual = ModelUtility.GetColumnName((TestAccount a) => a.Id);

            Assert.That(actual, Is.EqualTo("TestAccountId"));
        }
Пример #4
0
        private void AddOrderCondition <TProperty>(Expression <Func <TModel, TProperty> > column, Dir direction)
        {
            string columnName = ModelUtility.GetColumnName(column);

            _orderConditions.Add(columnName + " " + direction);
        }
Пример #5
0
        public void GetColumnName_Expression()
        {
            var actual = ModelUtility.GetColumnName((TestAccount a) => a.EmailAddress);

            Assert.That(actual, Is.EqualTo("EmailAddress"));
        }