Ver Fonte

fix: 修复批量删除异常

喵你个旺呀 há 1 ano atrás
pai
commit
d3bf08dae4

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

@@ -164,7 +164,9 @@ public class @(Model.ClassName)Service : IDynamicApiController, ITransient
     [ApiDescriptionSettings(Name = "BatchDelete"), HttpPost]
     public async Task<int> BatchDelete([Required(ErrorMessage = "主键列表不能为空")]List<Delete@(Model.ClassName)Input> input)
     {
-        var list = await _@(Model.LowerClassName)Rep.AsQueryable().In(u => new { @Model.PrimaryKeysFormat(", ", "u.{0}", false) }, input).ToListAsync();
+        var exp = Expressionable.Create<@(Model.ClassName)>();
+        foreach (var row in input) exp = exp.Or(it => @Model.PrimaryKeysFormat(" && ", "it.{0} == row.{0}"));
+        var list = await _@(Model.LowerClassName)Rep.AsQueryable().Where(exp.ToExpression()).ToListAsync();
         return await _@(Model.LowerClassName)Rep.FakeDeleteAsync(list);   //假删除
         //return await _@(Model.LowerClassName)Rep.DeleteAsync(list);   //真删除
     }

+ 1 - 1
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/index.vue.vm

@@ -328,7 +328,7 @@
       cancelButtonText: "取消",
       type: "warning",
     }).then(async () => {
-      const count = await @(Model.LowerClassName)Api.batchDelete(selectData.value.map(u => { @(Model.PrimaryKeysFormat(", ", "u.{0}", true)) } ));
+      const count = await @(Model.LowerClassName)Api.batchDelete(selectData.value.map(u => ({ @(Model.PrimaryKeysFormat(", ", "{0}: u.{0}", true)) }) )).then(res => res.data.result);
       handleQuery();
       ElMessage.success(`成功批量删除${count}条记录`);
     }).catch(() => {});