示例#1
0
        public void BulkInsert <TRow>(string tableName, List <TRow> rows) where TRow : class, new()
        {
            var tableLock = GetTableLock(tableName);

            Utils.LockedAction(tableLock, () =>
            {
                if (rows == null || !rows.Any())
                {
                    return;
                }
                var rowsString = _serializer.SerializeRows(rows);
                if (string.IsNullOrWhiteSpace(rowsString))
                {
                    return;
                }
                var tableFilePath = GetTableFilePath(tableName);
                _cacheProvider.BulkInsert(tableName, rows);
                File.AppendAllText(tableFilePath, rowsString);
            });
        }