namespace ConsoleApp2.Options; public class TenantDbOptions { public string TenantKey { get; set; } /// /// Key-Value: {DbName}-{TenantKeyLessThan} /// public Dictionary DbList { get; set; } public string GetDbNameByTenantKeyValue(int tenantKeyValue) { // var dictionary = new SortedDictionary(); // DbList.ForEach(pair => dictionary.Add(pair.Value, pair.Key)); // 注意配置顺序 var dbName = DbList.Cast?>() .FirstOrDefault(pair => pair?.Value != null && pair.Value.Value > tenantKeyValue)!.Value.Key; return dbName ?? throw new ArgumentOutOfRangeException(nameof(tenantKeyValue), $"已配置的数据库中没有任何符合'{nameof(tenantKeyValue)}'值的对象"); } }