예제 #1
0
 /// <summary>
 /// Insert
 /// </summary>
 /// <param name="expression">表达式树</param>
 /// <param name="isEnableNullValue">是否对null值属性进行sql拼接操作,默认:是</param>
 /// <returns>SqlBuilderCore</returns>
 public SqlBuilderCore <T> Insert(Expression <Func <object> > expression = null, bool isEnableNullValue = true)
 {
     this._sqlPack.Clear();
     this._sqlPack.IsSingleTable     = true;
     this._sqlPack.IsEnableNullValue = isEnableNullValue;
     this._sqlPack += $"INSERT INTO {this._sqlPack.GetTableName(typeof(T))} ({{0}}) {(this._sqlPack.DatabaseType == DatabaseType.Oracle ? "SELECT" : "VALUES")} ";
     SqlBuilderProvider.Insert(expression.Body, this._sqlPack);
     return(this);
 }
예제 #2
0
 /// <summary>
 /// Insert
 /// </summary>
 /// <param name="expression">表达式树</param>
 /// <param name="sqlPack">sql打包对象</param>
 /// <returns>SqlPack</returns>
 public override SqlPack Insert(NewArrayExpression expression, SqlPack sqlPack)
 {
     foreach (Expression expressionItem in expression.Expressions)
     {
         SqlBuilderProvider.Insert(expressionItem, sqlPack);
         if (sqlPack.DatabaseType == DatabaseType.Oracle)
         {
             sqlPack += " UNION ALL SELECT ";
         }
         else
         {
             sqlPack += ",";
         }
     }
     if (sqlPack.Sql[sqlPack.Sql.Length - 1] == ',')
     {
         sqlPack.Sql.Remove(sqlPack.Sql.Length - 1, 1);
     }
     if (sqlPack.Sql.ToString().LastIndexOf(" UNION ALL SELECT ") > -1)
     {
         sqlPack.Sql.Remove(sqlPack.Sql.Length - 18, 18);
     }
     return(sqlPack);
 }
예제 #3
0
 /// <summary>
 /// Insert
 /// </summary>
 /// <param name="expression">表达式树</param>
 /// <param name="sqlPack">sql打包对象</param>
 /// <returns>SqlPack</returns>
 public override SqlPack Insert(UnaryExpression expression, SqlPack sqlPack)
 {
     SqlBuilderProvider.Insert(expression.Operand, sqlPack);
     return(sqlPack);
 }