Explorar o código

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

Ir0nMax hai 1 ano
pai
achega
69c186be74

+ 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);   //真删除
     }