Selaa lähdekoodia

!758 根据表生成实体文件时有BUG
Merge pull request !758 from koy0755/表生成Entity有BUG

zuohuaijun 2 vuotta sitten
vanhempi
commit
8036e47f26

+ 9 - 6
Admin.NET/Admin.NET.Core/Service/DataBase/SysDatabaseService.cs

@@ -1,4 +1,4 @@
-// 麻省理工学院许可证
+// 麻省理工学院许可证
 //
 // 版权所有 (c) 2021-2023 zuohuaijun,大名科技(天津)有限公司  联系电话/微信:18020030720  QQ:515096995
 //
@@ -210,11 +210,14 @@ public class SysDatabaseService : IDynamicApiController, ITransient
         var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId == input.ConfigId);
         input.Position = string.IsNullOrWhiteSpace(input.Position) ? "Admin.NET.Application" : input.Position;
         input.EntityName = string.IsNullOrWhiteSpace(input.EntityName) ? (config.DbSettings.EnableUnderLine ? CodeGenUtil.CamelColumnName(input.TableName, null) : input.TableName) : input.EntityName;
-
-        _codeGenOptions.EntityBaseColumn.TryGetValue(input.BaseClassName, out string[] dbColumnNames);
-        if (dbColumnNames is null || dbColumnNames is { Length: 0 })
-            throw Oops.Oh("基类配置文件不存在此类型");
-
+        string[] dbColumnNames = new string[0];
+        // Entity.cs.vm中是允许创建没有基类的实体的,所以这里也要做出相同的判断
+        if (!string.IsNullOrWhiteSpace(input.BaseClassName))
+        {
+            _codeGenOptions.EntityBaseColumn.TryGetValue(input.BaseClassName, out dbColumnNames);
+            if (dbColumnNames is null || dbColumnNames is { Length: 0 })
+                throw Oops.Oh("基类配置文件不存在此类型");
+        }
         var templatePath = GetEntityTemplatePath();
         var targetPath = GetEntityTargetPath(input);
         var db = _db.AsTenant().GetConnectionScope(input.ConfigId);

+ 15 - 12
Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Entity.cs.vm

@@ -1,3 +1,6 @@
+@if(@Model.BaseClassName!=""){
+@:using Admin.NET.Core;
+}
 namespace @Model.NameSpace;
 
 /// <summary>
@@ -15,13 +18,13 @@ if(@Model.BaseClassName=="" && @column.IsPrimarykey){
     @:[Required]
     }
     if(@column.DataType=="string"||@column.DataType=="string?"){
-    @:[SugarColumn(IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length)]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length)]
     }
     else if(@column.DataType=="decimal"||@column.DataType=="decimal?"){
-    @:[SugarColumn(IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
     }    
     else{
-    @:[SugarColumn(IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true)]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true)]
     }
     @:public @column.DataType @column.DbColumnName { get; set; }
     @:
@@ -34,13 +37,13 @@ else if(@Model.BaseClassName=="" && !@column.IsPrimarykey){
     @:[Required]
     }
     if(@column.DataType=="string"||@column.DataType=="string?"){
-    @:[SugarColumn(ColumnDescription = "@column.ColumnDescription", Length = @column.Length)]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription", Length = @column.Length)]
     }
     else if(@column.DataType=="decimal"||@column.DataType=="decimal?"){
-    @:[SugarColumn(ColumnDescription = "@column.ColumnDescription", Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription", Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
     } 
     else{
-    @:[SugarColumn(ColumnDescription = "@column.ColumnDescription")]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription")]
     }
     @:public @column.DataType @column.DbColumnName { get; set; }
     @:
@@ -53,13 +56,13 @@ else if(@Model.BaseClassName!="" && @column.IsPrimarykey && @column.DbColumnName
     @:[Required]
     }
     if(@column.DataType=="string"||@column.DataType=="string?"){
-    @:[SugarColumn(IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length)]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length)]
     }
     else if(@column.DataType=="decimal"||@column.DataType=="decimal?"){
-    @:[SugarColumn(IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true, Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
     } 
     else{
-    @:[SugarColumn(IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true)]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", IsIdentity = @column.IsIdentity.ToString().ToLower(), ColumnDescription = "@column.ColumnDescription", IsPrimaryKey = true)]
     }
     @:public @column.DataType @column.DbColumnName { get; set; }
     @:
@@ -72,13 +75,13 @@ else if(@Model.BaseClassName!="" && !@column.IsPrimarykey && @column.DbColumnNam
     @:[Required]
     }
     if(@column.DataType=="string"||@column.DataType=="string?"){
-    @:[SugarColumn(ColumnDescription = "@column.ColumnDescription", Length = @column.Length)]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription", Length = @column.Length)]
     }
     else if(@column.DataType=="decimal"||@column.DataType=="decimal?"){
-    @:[SugarColumn(ColumnDescription = "@column.ColumnDescription", Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription", Length = @column.Length, DecimalDigits=@column.DecimalDigits )]
     }
     else{
-    @:[SugarColumn(ColumnDescription = "@column.ColumnDescription")]
+    @:[SugarColumn(ColumnName = "@column.DbColumnName", ColumnDescription = "@column.ColumnDescription")]
     }
     @:public @column.DataType @column.DbColumnName { get; set; }
     @: