private void Uniq(ref List <Posts> posts, ref List <DepartInfo> departs, ref List <PersonInfo> staff) { List <Posts> _posts = new PostsBll().QueryAll().ToList(); List <DepartInfo> _departs = new DepartInfoBll().QueryAll().ToList(); List <string> _workNos = new PersonInfoBll() .QueryList("IsDelete=0", new[] { nameof(PersonInfo.WorkNo) }) .Select(p => p.WorkNo).ToList(); posts = Distinct(posts, p => p.PostName).Where(p => p.PostName != string.Empty).ToList(); departs = Distinct(departs, d => d.DepartmentName).Where(d => d.DepartmentName != string.Empty).ToList(); posts = posts.Where(p => !Contains(_posts, item => item.PostName == p.PostName)).ToList(); departs = departs.Where(d => !Contains(_departs, item => item.DepartmentName == d.DepartmentName)).ToList(); staff = staff.Where(s => !_workNos.Contains(s.WorkNo)).ToList(); }