Преглед изворни кода

修复bug: 导入时,对外键关系的 long 型的字段(比如关联另一个表的 Id),由于Map的获取方式导致匹配不到时取得的是0而不是null,后面的系列对null的判断都白做。因此修改为取Map时类型要转换为long? 以便在取不到的时候得到的值是null而不是0

hwjmyz пре 9 месеци
родитељ
комит
797985a9b0
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Service.cs.vm

+ 1 - 1
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Service.cs.vm

@@ -321,7 +321,7 @@ public partial class @(Model.ClassName)Service : IDynamicApiController, ITransie
                     @:var @(column.LowerPropertyName)LabelList = pageItems.Where(x => x.@column.ExtendedPropertyName != null).Select(x => x.@column.ExtendedPropertyName).Distinct().ToList();
                     @:if (@(column.LowerPropertyName)LabelList.Any()) {
                         var columnList = column.FkDisplayColumnList.Select(n => $"{{u.{n}}}").ToList();
-                        @:var @(column.LowerPropertyName)LinkMap = _@(Model.LowerClassName)Rep.Context.Queryable<@(column.FkEntityName)>().Where(u => @(column.LowerPropertyName)LabelList.Contains($"@(string.Join("-", columnList))")).ToList().ToDictionary(u => $"@(string.Join("-", columnList))", u => u.@(column.FkLinkColumnName));
+                        @:var @(column.LowerPropertyName)LinkMap = _@(Model.LowerClassName)Rep.Context.Queryable<@(column.FkEntityName)>().Where(u => @(column.LowerPropertyName)LabelList.Contains($"@(string.Join("-", columnList))")).ToList().ToDictionary(u => $"@(string.Join("-", columnList))", u => u.@(column.FkLinkColumnName)  as @(column.NetType.TrimEnd('?') == "long" ? "long?": column.NetType));
                         @:pageItems.ForEach(e => {
                             @:e.@(column.PropertyName) = @(column.LowerPropertyName)LinkMap.GetValueOrDefault(e.@column.ExtendedPropertyName ?? "");
                             @:if (e.@(column.PropertyName) == null) e.Error = "@(column.ColumnComment)链接失败";