protected override SqlPack Insert(NewExpression expression, SqlPack sqlPack) { StringBuilder columns = new StringBuilder(); for (int i = 0; i < expression.Members.Count; i++) { MemberInfo m = expression.Members[i]; //ConstantExpression c = expression.Arguments[i] as ConstantExpression; //object value = c.Value; columns.Append(m.Name); columns.Append(","); object value = expression.Arguments[i].GetValueOfExpression(sqlPack, false); sqlPack.AddDbParameter(value); sqlPack += ","; } columns = columns.Remove(columns.Length - 1, 1); if (sqlPack[sqlPack.Length - 1] == ',') { sqlPack.Sql.Remove(sqlPack.Length - 1, 1); } sqlPack.FormatSql(columns.ToString()); return(sqlPack); }
protected override SqlPack Insert(MemberInitExpression expression, SqlPack sqlPack) { var datas = GetValueOfMemberInit(expression); StringBuilder columns = new StringBuilder(); MemberInfo m = null; object value = null; foreach (var item in datas) { m = item.Key; columns.Append(m.Name); columns.Append(","); value = item.Value.GetValueOfExpression(sqlPack, false); sqlPack.AddDbParameter(value); sqlPack += ","; } columns = columns.Remove(columns.Length - 1, 1); if (sqlPack[sqlPack.Length - 1] == ',') { sqlPack.Sql.Remove(sqlPack.Length - 1, 1); } sqlPack.FormatSql(columns.ToString()); return(sqlPack); }