Với PredicateBuilder làm thế nào để tôi có được chức năng tương tự như truy vấn SQL IN hoặc NOT IN?C# Predicate Builder có chức năng "NOT IN"
Ví dụ: tôi có danh sách ID và tôi muốn chọn tất cả những người có ID khớp hoặc không khớp với ID.
Chức năng người trận đấu là khá đơn giản (mặc dù có thể có một cách tốt hơn để làm điều đó)
var predicate = PredicateBuilder.False<Person>()
foreach (int i in personIDs)
{
int temp = i;
predicate = predicate.Or(e=>e.PersonID == temp);
}
return persons.Where(predicate);
Vì vậy, làm thế nào để tôi nhận được điều ngược lại? Tôi muốn tất cả những người có ID không có trong danh sách personIDs.
Để giải quyết sự cố, tôi có thể nhận danh sách các PersonID được lọc trước để tôi có thể sử dụng mã ở trên. Nó không lý tưởng, nhưng nó sẽ hoạt động. –