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)); }
public ISelectQuery <TModel> OrderByDescending <TProperty>(Expression <Func <TModel, TProperty> > column) { _orderConditions.Add(ModelUtility.GetColumnName(column) + " DESC"); return(this); }
public void GetColumnName_Expression2() { var actual = ModelUtility.GetColumnName((TestAccount a) => a.Id); Assert.That(actual, Is.EqualTo("TestAccountId")); }
private void AddOrderCondition <TProperty>(Expression <Func <TModel, TProperty> > column, Dir direction) { string columnName = ModelUtility.GetColumnName(column); _orderConditions.Add(columnName + " " + direction); }
public void GetColumnName_Expression() { var actual = ModelUtility.GetColumnName((TestAccount a) => a.EmailAddress); Assert.That(actual, Is.EqualTo("EmailAddress")); }