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); }); } } }
static void setAsbBatchProperty(AbsBatch absBatch, IDbHelper dbHelper) { absBatch.optByBatchMaxNumber = dbHelper.optByBatchMaxNumber; absBatch.optByBatchWaitSecond = dbHelper.optByBatchWaitSecond; absBatch.sqlMaxLengthForBatch = dbHelper.sqlMaxLengthForBatch; }