TableMapper.cs 909 B

12345678910111213141516171819202122232425262728293031
  1. // 此源代码遵循位于源代码树根目录中的 LICENSE 文件的许可证。
  2. //
  3. // 必须在法律法规允许的范围内正确使用,严禁将其用于非法、欺诈、恶意或侵犯他人合法权益的目的。
  4. namespace Admin.NET.Core.Service;
  5. /// <summary>
  6. /// 表名映射
  7. /// </summary>
  8. public class TableMapper : ITransient
  9. {
  10. private readonly Dictionary<string, string> _options = new(StringComparer.OrdinalIgnoreCase);
  11. public TableMapper(IOptions<Dictionary<string, string>> options)
  12. {
  13. foreach (var item in options.Value)
  14. {
  15. _options.Add(item.Key, item.Value);
  16. }
  17. }
  18. /// <summary>
  19. /// 获取表别名
  20. /// </summary>
  21. /// <param name="oldname"></param>
  22. /// <returns></returns>
  23. public string GetTableName(string oldname)
  24. {
  25. return _options.ContainsKey(oldname) ? _options[oldname] : oldname;
  26. }
  27. }