Пример #1
0
        static void bufferDatas(IDbHelper dbHelper, AutoCall autoCall, DataOptType dataOptType, string sql, List <DbParameter> parameters, Action <object> action, Func <DbCommand, object> func)
        {
            lock (_bufferData)
            {
                if (DataOptType.insert == dataOptType)
                {
                    if (null == insertBatch)
                    {
                        insertBatch = new InsertBatch();
                        setAsbBatchProperty(insertBatch, dbHelper);
                    }

                    insertBatch.analysis(dbHelper, autoCall, sql, parameters, (sql_1, tableName_1, para_1) =>
                    {
                        addDataToCollection(dbHelper, autoCall, action, func, sql_1, tableName_1, para_1);
                    });
                }
                else if (DataOptType.update == dataOptType)
                {
                    if (null == updateBatch)
                    {
                        updateBatch = new UpdateBatch();
                        setAsbBatchProperty(updateBatch, dbHelper);
                    }

                    updateBatch.analysis(dbHelper, autoCall, sql, parameters, (sql_1, tableName_1, para_1) =>
                    {
                        addDataToCollection(dbHelper, autoCall, action, func, sql_1, tableName_1, para_1);
                    });
                }
                else if (DataOptType.delete == dataOptType)
                {
                    if (null == deleteBatch)
                    {
                        deleteBatch = new DeleteBatch();
                        setAsbBatchProperty(deleteBatch, dbHelper);
                    }

                    deleteBatch.analysis(dbHelper, autoCall, sql, parameters, (sql_1, tableName_1, para_1) =>
                    {
                        addDataToCollection(dbHelper, autoCall, action, func, sql_1, tableName_1, para_1);
                    });
                }
            }
        }
Пример #2
0
 static void setAsbBatchProperty(AbsBatch absBatch, IDbHelper dbHelper)
 {
     absBatch.optByBatchMaxNumber  = dbHelper.optByBatchMaxNumber;
     absBatch.optByBatchWaitSecond = dbHelper.optByBatchWaitSecond;
     absBatch.sqlMaxLengthForBatch = dbHelper.sqlMaxLengthForBatch;
 }