public bool BatchDelUser(string keyValue, string userId) { string[] IdArray = keyValue.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var expression = ExtLinq.True <UserInfo>(); IUnitOfWork db = new EFUnitOfWork(Context).BeginTransaction(); for (var i = 0; i < IdArray.Length; i++) { if (i == 0) { expression = expression.And(a => a.F_Id == IdArray[i]); } else { expression = expression.Or(a => a.F_Id == IdArray[i]); } } try { using (db) { List <UserInfo> userList = Context.Users.Where(expression).ToList(); foreach (UserInfo user in userList) { user.F_DeleteMark = true; user.F_DeleteUserId = userId; user.F_DeleteTime = DateTime.Now; Update(user); } } } catch (Exception ex) { db.RollbackTransaction(); return(false); } return(true); }