using Microsoft.Extensions.Caching.Distributed; using StackExchange.Redis; namespace ConsoleApp2.Options; public enum ColumnType { Blob, Text, UnDefine, } public class DataTransformOptions { public Func? DatabaseFilter { get; set; } public Func? TransformBinary { get; set; }//Binary转字符串方法 public Func>? RecordFilter { get; set; }//数据过滤方法 public Action? RecordModify { get; set; }//数据修改 public Func>? RecordReplace { get; set; }//数据替换 public Func?>? RecordAdd { get; set; }//数据替换 public Action? RecordCache { get; set; }//数据缓存 /// /// 配置导入数据的特殊列 /// public Dictionary ColumnTypeConfig { get; set; } = new(); // "table.column" -> type public ColumnType GetColumnType(string table, string column) { return ColumnTypeConfig.GetValueOrDefault($"{table}.{column}", ColumnType.UnDefine); } }