diff --git a/web/App_Code/api/adminUserController.cs b/web/App_Code/api/adminUserController.cs index 1a56b61..013f6e4 100644 --- a/web/App_Code/api/adminUserController.cs +++ b/web/App_Code/api/adminUserController.cs @@ -90,14 +90,15 @@ public class adminUserController : ApiController if(q.removeExist.HasValue && q.removeExist.Value) { - var existingAdminNums = _db.members.Select(b => b.admin_num).ToList(); + // 優化:使用子查詢在數據庫層面執行,避免載入所有會員的 admin_num + var usedAdminNums = _db.members.Select(b => b.admin_num); if (q.num.HasValue && q.num.Value > 0) { - qry = qry.Where(o => !existingAdminNums.Contains(o.num) || o.num == q.num.Value); + qry = qry.Where(o => !usedAdminNums.Contains(o.num) || o.num == q.num.Value); } else { - qry = qry.Where(o => !existingAdminNums.Contains(o.num)); + qry = qry.Where(o => !usedAdminNums.Contains(o.num)); } }