shgx_tz_mom/ZR.CodeGenerator/Service/CodeGeneraterService.cs

70 lines
2.4 KiB
C#
Raw Normal View History

using SqlSugar;
2021-09-07 18:37:21 +08:00
using System.Collections.Generic;
using System.Linq;
using ZR.Model;
namespace ZR.CodeGenerator.Service
{
public class CodeGeneraterService : DbProvider
2021-09-07 18:37:21 +08:00
{
/// <summary>
/// 获取所有数据库名
/// </summary>
/// <returns></returns>
2021-09-09 18:18:37 +08:00
public List<string> GetAllDataBases()
2021-09-07 18:37:21 +08:00
{
var db = GetSugarDbContext();
var templist = db.DbMaintenance.GetDataBaseList(db.ScopedContext);
2021-09-09 18:18:37 +08:00
return templist;
2021-09-07 18:37:21 +08:00
}
/// <summary>
/// 获取所有表
/// </summary>
/// <param name="dbName"></param>
/// <param name="tableName"></param>
/// <param name="pager"></param>
/// <returns></returns>
public List<DbTableInfo> GetAllTables(string dbName, string tableName, PagerInfo pager)
2021-09-07 18:37:21 +08:00
{
var tableList = GetSugarDbContext(dbName).DbMaintenance.GetTableInfoList(true);
if (!string.IsNullOrEmpty(tableName))
{
2021-09-13 18:38:54 +08:00
tableList = tableList.Where(f => f.Name.ToLower().Contains(tableName.ToLower())).ToList();
2021-09-07 18:37:21 +08:00
}
2021-09-17 18:19:53 +08:00
tableList = tableList.Where(f => !new string[] { "gen", "sys_" }.Contains(f.Name)).ToList();
2021-09-07 18:37:21 +08:00
pager.TotalNum = tableList.Count;
return tableList.Skip(pager.PageSize * (pager.PageNum - 1)).Take(pager.PageSize).OrderBy(f => f.Name).ToList();
}
2021-09-17 18:19:53 +08:00
/// <summary>
/// 获取单表数据
/// </summary>
/// <param name="dbName"></param>
/// <param name="tableName"></param>
/// <returns></returns>
public DbTableInfo GetTableInfo(string dbName, string tableName)
{
var tableList = GetSugarDbContext(dbName).DbMaintenance.GetTableInfoList(true);
if (!string.IsNullOrEmpty(tableName))
{
return tableList.Where(f => f.Name.ToLower() == (tableName.ToLower())).FirstOrDefault();
}
return null;
}
2021-09-07 18:37:21 +08:00
/// <summary>
/// 获取列信息
/// </summary>
/// <param name="dbName"></param>
/// <param name="tableName"></param>
/// <returns></returns>
public List<DbColumnInfo> GetColumnInfo(string dbName, string tableName)
{
return GetSugarDbContext(dbName).DbMaintenance.GetColumnInfosByTableName(tableName, true);
2021-09-07 18:37:21 +08:00
}
}
}