CodeGeneraterService.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using SqlSugar;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using ZR.Model;
  5. namespace ZR.CodeGenerator.Service
  6. {
  7. public class CodeGeneraterService : DbProvider
  8. {
  9. /// <summary>
  10. /// 获取所有数据库名
  11. /// </summary>
  12. /// <returns></returns>
  13. public List<string> GetAllDataBases()
  14. {
  15. var db = GetSugarDbContext();
  16. var templist = db.DbMaintenance.GetDataBaseList(db);
  17. return templist;
  18. }
  19. /// <summary>
  20. /// 获取所有表
  21. /// </summary>
  22. /// <param name="dbName"></param>
  23. /// <param name="tableName"></param>
  24. /// <param name="pager"></param>
  25. /// <returns></returns>
  26. public List<DbTableInfo> GetAllTables(string dbName, string tableName, PagerInfo pager)
  27. {
  28. var tableList = GetSugarDbContext(dbName).DbMaintenance.GetTableInfoList(true);
  29. if (!string.IsNullOrEmpty(tableName))
  30. {
  31. tableList = tableList.Where(f => f.Name.ToLower().Contains(tableName.ToLower())).ToList();
  32. }
  33. //tableList = tableList.Where(f => !new string[] { "gen", "sys_" }.Contains(f.Name)).ToList();
  34. pager.TotalNum = tableList.Count;
  35. return tableList.Skip(pager.PageSize * (pager.PageNum - 1)).Take(pager.PageSize).OrderBy(f => f.Name).ToList();
  36. }
  37. /// <summary>
  38. /// 获取单表数据
  39. /// </summary>
  40. /// <param name="dbName"></param>
  41. /// <param name="tableName"></param>
  42. /// <returns></returns>
  43. public DbTableInfo GetTableInfo(string dbName, string tableName)
  44. {
  45. var tableList = GetSugarDbContext(dbName).DbMaintenance.GetTableInfoList(true);
  46. if (!string.IsNullOrEmpty(tableName))
  47. {
  48. return tableList.Where(f => f.Name.Equals(tableName, System.StringComparison.OrdinalIgnoreCase)).FirstOrDefault();
  49. }
  50. return null;
  51. }
  52. /// <summary>
  53. /// 获取列信息
  54. /// </summary>
  55. /// <param name="dbName"></param>
  56. /// <param name="tableName"></param>
  57. /// <returns></returns>
  58. public List<DbColumnInfo> GetColumnInfo(string dbName, string tableName)
  59. {
  60. return GetSugarDbContext(dbName).DbMaintenance.GetColumnInfosByTableName(tableName, true);
  61. }
  62. }
  63. }