소스 검색

修复多库生成代码

zuohuaijun 3 년 전
부모
커밋
558a5e407f
2개의 변경된 파일16개의 추가작업 그리고 16개의 파일을 삭제
  1. 5 4
      Admin.NET/Admin.NET.Core/Service/CodeGen/CodeGenConfigService.cs
  2. 11 12
      Admin.NET/Admin.NET.Core/Service/CodeGen/CodeGenService.cs

+ 5 - 4
Admin.NET/Admin.NET.Core/Service/CodeGen/CodeGenConfigService.cs

@@ -8,12 +8,13 @@ public class CodeGenConfigService : IDynamicApiController, ITransient
 {
     private readonly SqlSugarRepository<SysCodeGenConfig> _sysCodeGenConfigRep;
 
-    private readonly ISqlSugarClient db;
+    private readonly ISqlSugarClient _db;
+
     public CodeGenConfigService(SqlSugarRepository<SysCodeGenConfig> sysCodeGenConfigRep,
         ISqlSugarClient db)
     {
         _sysCodeGenConfigRep = sysCodeGenConfigRep;
-        this.db = db;
+        _db = db;
     }
 
     /// <summary>
@@ -125,8 +126,8 @@ public class CodeGenConfigService : IDynamicApiController, ITransient
             codeGenConfig.QueryType = "=="; // QueryTypeEnum.eq.ToString();
             codeGenConfigs.Add(codeGenConfig);
         }
-        //多库代码生成,这里要切回主库
-        db.AsTenant().ChangeDatabase(SqlSugarConst.ConfigId);
+        // 多库代码生成---这里要切回主库
+        _db.AsTenant().ChangeDatabase(SqlSugarConst.ConfigId);
         _sysCodeGenConfigRep.Context.Insertable(codeGenConfigs).ExecuteCommand();
     }
 }

+ 11 - 12
Admin.NET/Admin.NET.Core/Service/CodeGen/CodeGenService.cs

@@ -12,7 +12,7 @@ public class CodeGenService : IDynamicApiController, ITransient
     private readonly IViewEngine _viewEngine;
     private readonly ICommonService _commonService;
 
-    private readonly ISqlSugarClient db;
+    private readonly ISqlSugarClient _db;
 
     public CodeGenService(SqlSugarRepository<SysCodeGen> sysCodeGenRep,
         SqlSugarRepository<SysMenu> sysMenuRep,
@@ -26,8 +26,7 @@ public class CodeGenService : IDynamicApiController, ITransient
         _codeGenConfigService = codeGenConfigService;
         _viewEngine = viewEngine;
         _commonService = commonService;
-
-        this.db = db;
+        _db = db;
     }
 
     /// <summary>
@@ -129,8 +128,8 @@ public class CodeGenService : IDynamicApiController, ITransient
     public async Task<List<TableOutput>> GetTableList(string configId = SqlSugarConst.ConfigId)
     {
         //切库,多库代码生成用
-        db.AsTenant().ChangeDatabase(configId);
-        List<DbTableInfo> dbTableInfos = db.DbMaintenance.GetTableInfoList(false);//这里不能走缓存,否则切库不起作用
+        _db.AsTenant().ChangeDatabase(configId);
+        List<DbTableInfo> dbTableInfos = _db.DbMaintenance.GetTableInfoList(false);//这里不能走缓存,否则切库不起作用
 
         List<string> dbTableNames = dbTableInfos.Select(x => x.Name).ToList();
 
@@ -157,14 +156,14 @@ public class CodeGenService : IDynamicApiController, ITransient
     [HttpGet("/codeGenerate/ColumnList/{configId}/{tableName}")]
     public List<TableColumnOuput> GetColumnListByTableName(string tableName, string configId = SqlSugarConst.ConfigId)
     {
-        //切库,多库代码生成用
-        db.AsTenant().ChangeDatabase(configId);
+        // 切库---多库代码生成用
+        _db.AsTenant().ChangeDatabase(configId);
 
         // 获取实体类型属性
-        var entityType = db.DbMaintenance.GetTableInfoList(false).FirstOrDefault(u => u.Name == tableName);
+        var entityType = _db.DbMaintenance.GetTableInfoList(false).FirstOrDefault(u => u.Name == tableName);
         if (entityType == null) return null;
         // 按原始类型的顺序获取所有实体类型属性(不包含导航属性,会返回null)
-        return db.DbMaintenance.GetColumnInfosByTableName(entityType.Name).Select(u => new TableColumnOuput
+        return _db.DbMaintenance.GetColumnInfosByTableName(entityType.Name).Select(u => new TableColumnOuput
         {
             ColumnName = u.DbColumnName,
             ColumnKey = u.IsPrimarykey.ToString(),
@@ -181,15 +180,15 @@ public class CodeGenService : IDynamicApiController, ITransient
     [NonAction]
     public List<TableColumnOuput> GetColumnList([FromQuery] AddCodeGenInput input)
     {
-        //切库,多库代码生成用
+        // 切库---多库代码生成用
         if (!string.IsNullOrEmpty(input.ConfigId))
-            db.AsTenant().ChangeDatabase(input.ConfigId);
+            _db.AsTenant().ChangeDatabase(input.ConfigId);
 
         var entityType = _commonService.GetEntityInfos().Result.FirstOrDefault(m => m.EntityName == input.TableName);
         if (entityType == null)
             return null;
 
-        return db.DbMaintenance.GetColumnInfosByTableName(entityType.DbTableName, false).Select(u => new TableColumnOuput
+        return _db.DbMaintenance.GetColumnInfosByTableName(entityType.DbTableName, false).Select(u => new TableColumnOuput
         {
             ColumnName = u.DbColumnName,
             ColumnKey = u.IsPrimarykey.ToString(),