protected InsertSections GetTableInsert(TableKey table)
        {
            InsertSections result = null;

            if (_tableToInsertStatments.TryGetValue(table, out result))
            {
                return(result);
            }


            result = new InsertSections( );

            result.InsertTemplate = SqlInsertStatments.GetInsertIntoTable(table);
            result.TableName      = table.Name;

            _tableToInsertStatments.Add(table, result);

            return(result);
        }
        protected virtual string GetInsertText()
        {
            StringBuilder result = new StringBuilder(SqlInsertStatments.BeginTransaction);

            result.AppendLine( );

            foreach (var insertKeyValue in _tableToInsertStatments)
            {
                var insert = insertKeyValue.Value;

                string columns = string.Join(", ", insert.ColumnNames);
                string values  = string.Join(", ", insert.ParametersValueNames);

                result.AppendLine(SqlInsertStatments.GetTablesKey(insertKeyValue.Key));
                result.AppendFormat(insert.InsertTemplate, columns, values);
                result.AppendLine( );
            }

            result.AppendLine(SqlInsertStatments.CommitTransaction);

            return(result.ToString( ));
        }