Supongo que hay una consulta LINQ simple para hacer esto, no estoy exactamente seguro de cómo hacerlo. Por favor, vea el fragmento de código a continuación.Use LINQ para obtener elementos en una Lista <>, que no están en otra Lista <>
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; }
}
me gustaría realizar una consulta LINQ que darme toda la gente en peopleList2
que no están en peopleList1
este ejemplo debería darme dos personas (ID = 4 & ID = 5)
Tal vez sea un buen idea para hacer ID de forma legible, ya que la identidad de un objeto no debería cambiar durante su tiempo de transmisión. A menos que, por supuesto, su marco de prueba o ORM requiera que sea mutable. – CodesInChaos
¿Podríamos llamar a esto "Izquierda (o Derecha) Excluir Únase" de acuerdo con [este diagrama?] (Https://www.codeproject.com/Articles/33052/Representation-Visual-de-SQL-Joins) –