瀏覽代碼

还原代码生成service模板里面的批量删除代码。

Ir0nMax 1 年之前
父節點
當前提交
69c186be74
共有 1 個文件被更改,包括 4 次插入 和 2 次删除
  1. 4 2
      Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Service.cs.vm

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

@@ -166,8 +166,10 @@ 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 ids = input.Select(row => row.Id).ToList();
-        var list = await _@(Model.LowerClassName)Rep.AsQueryable().Where(it => ids.Contains(it.Id)).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);   //真删除
     }