Example #1
0
        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);
        }
Example #2
0
        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);
        }