فهرست منبع

!1453 EnumToDictJob 使用BulkListQuery扩展优化查询
Merge pull request !1453 from Hans/N/A

zuohuaijun 1 سال پیش
والد
کامیت
16fb907135
1فایلهای تغییر یافته به همراه8 افزوده شده و 4 حذف شده
  1. 8 4
      Admin.NET/Admin.NET.Core/Job/EnumToDictJob.cs

+ 8 - 4
Admin.NET/Admin.NET.Core/Job/EnumToDictJob.cs

@@ -33,10 +33,14 @@ public class EnumToDictJob : IJob
         var enumTypeList = sysEnumService.GetEnumTypeList();
         var enumCodeList = enumTypeList.Select(u => u.TypeName);
         // 查询数据库中已存在的枚举类型代码
-        var sysDictTypeList = await db.Queryable<SysDictType>()
-                                      .Includes(d => d.Children)
-                                      .Where(d => enumCodeList.Contains(d.Code))
-                                      .ToListAsync(stoppingToken);
+        // 查询数据库中已存在的枚举类型代码
+        var exp = Expressionable.Create<SysDictType, SingleColumnEntity<string>>()
+        .And((t1, t2) => t1.Code == t2.ColumnName)
+        .ToExpression();
+        var sysDictTypeList = await db.Queryable<SysDictType>().Includes(t1 => t1.Children).BulkListQuery(
+            exp,
+            enumCodeList,
+            stoppingToken);
         // 更新的枚举转换字典
         var updatedEnumCodes = sysDictTypeList.Select(u => u.Code);
         var updatedEnumType = enumTypeList.Where(u => updatedEnumCodes.Contains(u.TypeName)).ToList();