Tôi giả sử có một truy vấn LINQ đơn giản để thực hiện việc này, tôi chỉ không chắc chắn chính xác như thế nào. Vui lòng xem đoạn mã bên dưới.Sử dụng LINQ để lấy các mục trong một Danh sách <>, không có trong Danh sách khác <>
class Program
{
static void Main(string[] args)
{
List<Person> peopleList1 = new List<Person>();
peopleList1.Add(new Person() { ID = 1 });
peopleList1.Add(new Person() { ID = 2 });
peopleList1.Add(new Person() { ID = 3 });
List<Person> peopleList2 = new List<Person>();
peopleList2.Add(new Person() { ID = 1 });
peopleList2.Add(new Person() { ID = 2 });
peopleList2.Add(new Person() { ID = 3 });
peopleList2.Add(new Person() { ID = 4 });
peopleList2.Add(new Person() { ID = 5 });
}
}
class Person
{
public int ID { get; set; }
}
Tôi muốn thực hiện một truy vấn LINQ to cho tôi tất cả những người trong peopleList2
mà không phải là trong peopleList1
ví dụ này nên cung cấp cho tôi hai người (ID = 4 & ID = 5)
Có lẽ đó là một tốt ý tưởng để làm cho ID chỉ đọc vì danh tính của một đối tượng không nên thay đổi theo thời gian sống của nó. Trừ khi khóa học của bạn hoặc khung công tác ORM yêu cầu nó phải có thể thay đổi được. – CodesInChaos
Chúng tôi có thể gọi đây là "Trái (hoặc Phải) Không Tham gia" theo [sơ đồ này?] (Https://www.codeproject.com/Articles/33052/Visual-Representation-of-SQL-Joins) –