Esempio n. 1
0
 private void Round(MethodCallExpression method, StringBuilder sb, IGenerateSqlFromExpressions writer)
 {
     sb.Append("round(");
     sb.Append(writer.GetColumnsSql(method.Arguments[1]));
     sb.Append(",");
     sb.Append(writer.GetSql(method.Arguments[2]));
     sb.Append(")");
 }
 private void DateDiff(MethodCallExpression method, StringBuilder sb, IGenerateSqlFromExpressions writer)
 {
     sb.Append("datediff(");
     sb.Append(method.Arguments[1].GetValue().ToString()).Append(",");
     sb.Append(writer.GetColumnsSql(method.Arguments[2])).Append(",");
     sb.Append(writer.GetColumnsSql(method.Arguments[3]));
     sb.Append(")");
 }
Esempio n. 3
0
 private void MyConcat(MethodCallExpression method, StringBuilder sb, IGenerateSqlFromExpressions writer)
 {
     foreach (var arg in method.Arguments[1].CastAs <NewArrayExpression>().Expressions)
     {
         sb.Append(writer.GetColumnsSql(arg));
         sb.Append(" || ");
     }
     sb.RemoveLastIfEquals("|| ");
 }
Esempio n. 4
0
        public UpdateTableBuilder(IExecuteCustomSql executor, IGenerateSqlFromExpressions writer, IEscapeIdentifier utils, HelperOptions options)
        {
            _executor = executor;
            _writer   = writer;
            _utils    = utils;

            _options = options;

            _sb.Append($"update {utils.EscapeTableName(options.TableName)} set ");
        }
Esempio n. 5
0
        public SimpleSqlBuilder(HelperOptions options, IDbProvider provider, IGenerateSqlFromExpressions writer, ITableInfoFactory infos)
        {
            _options  = options;
            _provider = provider;
            _info     = options.Info;

            _writer = writer;
            _infos  = infos;

            WriteFrom(provider, options);
        }
Esempio n. 6
0
        public SimpleSqlBuilder(HelperOptions options, IDbProvider provider, TableInfo info, IGenerateSqlFromExpressions writer)
        {
            _options  = options;
            _provider = provider;
            _info     = info;

            _writer = writer;
            options.EnsureTableName(_info);

            WriteFrom(provider, options);
        }
Esempio n. 7
0
        public string GetSql(MethodCallExpression method, IGenerateSqlFromExpressions manager)
        {
            var func = Functions.GetValueOrDefault(GetKey(method));

            if (func == null)
            {
                throw new NotSupportedException("Unrecognized function {0}".ToFormat(method.Method.Name));
            }
            var sb = new StringBuilder();

            func(method, sb, manager);
            return(sb.ToString());
        }
Esempio n. 8
0
 public DeleteTableBuilder(string tableName,IGenerateSqlFromExpressions writer)
 {
     _writer = writer;
     _sb.Append($"delete from {tableName}");
 }
Esempio n. 9
0
 private void Max(MethodCallExpression method, StringBuilder sb, IGenerateSqlFromExpressions manager)
 => sb.Append($"max({manager.GetColumnsSql(method.Arguments[1])})");
Esempio n. 10
0
 private void Sum(MethodCallExpression method, StringBuilder sb, IGenerateSqlFromExpressions w)
 => sb.Append($"sum({w.GetColumnsSql(method.Arguments[1])})");
Esempio n. 11
0
 private void CountAll(MethodCallExpression method, StringBuilder sb, IGenerateSqlFromExpressions manager)
 => sb.Append("count(*)");
Esempio n. 12
0
 public DeleteTableBuilder(string tableName, IGenerateSqlFromExpressions writer)
 {
     _writer = writer;
     _sb.Append($"delete from {tableName}");
 }
Esempio n. 13
0
        private void BetweenDates(MethodCallExpression arg1, StringBuilder sb, IGenerateSqlFromExpressions writer)
        {
            var date = writer.GetColumnsSql(arg1.Arguments[0]);

            sb.Append($"{date}>={writer.GetSql(arg1.Arguments[1])} and {date}<={writer.GetSql(arg1.Arguments[2])}");
        }