Example #1
0
        /// <summary>
        /// Добавляет записи в таблицу
        /// </summary>
        /// <param name="table">Таблица</param>
        /// <param name="identity">true - отключать идентити спецификацию</param>
        /// <param name="rows">Список записей</param>
        public void InsertRows(string table, bool identity = false, params object[] rows)
        {
            if (string.IsNullOrEmpty(table))
            {
                throw new TableExpectedException();
            }

            if (rows == null || rows.Length == 0)
            {
                throw new ArgumentNullException();
            }

            foreach (var row in rows)
            {
                var props  = row.GetType().GetProperties();
                var values = new string[props.Length];
                for (int i = 0; i < props.Length; i++)
                {
                    values[i] = props[i].GetValue(row, null).ToString();
                }

                ExecuteScalar(razor.Parse(TemplateManager.GetInsertRowsTemplate(), new object[] { table, props, values, identity }, "insert rows"));
            }
        }