我有一个Person
类看起来像这样:
Person1: Id=1, Name="Test1"
Person2: Id=2, Name="Test2"
Person3: Id=3, Name="Test3"
IEnumerable<int>
具有唯一的Person
ID:
var personIds = new PersonRepository().GetAll().Select(x => x.Id);
我需要一个Person
的列表,其中IEnumerable<int>
中没有ID。
这是我多次尝试之一:
from n in personIds
from x in Person
where x.Id != n
select x;
我只是不断收回所有内容,包括personIds
中的ID。
我错过了什么?
答案 0 :(得分:4)
var results = Persons.Where(p => !personIds.Contains(p.Id));
答案 1 :(得分:3)
from n in Persons
where !Persons.Any(c=>personIds.Contains(c.Id));
select n
答案 2 :(得分:1)
确定,
应该是这样的,
var allButExclusions =
PersonRepository.GetAll().Where(p => !exclusions.Contains(p.Id));
但是,如何推导出要排除的所有Person
列表或Id
列表并不明显。