0

我有一个Person看起来像这样的类:

Person1: Id=1, Name="Test1"
Person2: Id=2, Name="Test2"
Person3: Id=3, Name="Test3"

还有一个IEnumerable<int>具有唯一PersonID 的:

var personIds = new PersonRepository().GetAll().Select(x => x.Id);

我需要一个列表,列出Person.id 文件中不存在 id 的位置IEnumerable<int>

这是我的许多尝试之一:

from n in personIds 
from x in Person
where x.Id != n
select x;

我只是不断取回所有内容,包括personIds.

我错过了什么?

4

3 回答 3

4
var results = Persons.Where(p => !personIds.Contains(p.Id));
于 2013-01-25T09:38:20.207 回答
3
from n in Persons 
where !Persons.Any(c=>personIds.Contains(c.Id));
select n
于 2013-01-25T09:41:39.173 回答
1

好的,

它应该是这样的,

var allButExclusions =
    PersonRepository.GetAll().Where(p => !exclusions.Contains(p.Id));

但是,如何导出所有Persons 的列表或Id要排除的 s 的列表并不明显。

于 2013-01-25T09:43:51.520 回答