/// <summary>
        ///
        /// </summary>
        /// <param name="dataTable"></param>
        /// <param name="elementType"></param>
        /// <param name="tableFunc"></param>
        /// <param name="columnMapping"></param>
        public void AddTS(System.Data.DataTable dataTable, Type elementType = null, System.Linq.Expressions.Expression <Func <string, string> > tableFunc = null, Dictionary <string, string> columnMapping = null)
        {
            changeInternalDbProvider(elementType);
            TransactionScopeBulkCopyEntity entity = new TransactionScopeBulkCopyEntity()
            {
                DataTable     = dataTable,
                ColumnMapping = columnMapping,
                TableName     = elementType == null ? dataTable.TableName : elementType.GetEntityName(),
                TableFunc     = tableFunc,
            };

            if (string.IsNullOrEmpty(dataTable.TableName))
            {
                throw new DMSFrameException(dataTable.ToString() + "未指定表名进行批量导入数据库!");
            }
            TransactionScopeEntityList.Enqueue(entity);
        }
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="list"></param>
        /// <param name="tableFunc"></param>
        /// <param name="columnMapping"></param>
        public void AddTS <T>(IEnumerable <T> list, System.Linq.Expressions.Expression <Func <string, string> > tableFunc = null, Dictionary <string, string> columnMapping = null)
            where T : class, IEntity, new()
        {
            if (list == null || list.Count() == 0)
            {
                return;
            }
            changeInternalDbProvider(typeof(T));
            TransactionScopeBulkCopyEntity entity = new TransactionScopeBulkCopyEntity()
            {
                DataTable     = list.ToDataTable(),
                ColumnMapping = columnMapping,
                TableName     = typeof(T).GetEntityName(),
                TableFunc     = tableFunc,
            };

            TransactionScopeEntityList.Enqueue(entity);
        }