0

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);

PersonIDがに存在しない場所のリストが必要IEnumerable<int>です。

これは私の多くの試みの1つです。

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

に存在するIDを含め、すべてを取り戻し続けます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

Ok、

それは次のようなものでなければなりません、

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

Personただし、すべてのリストまたはId除外するリストをどのように導出するかは明らかではありません。

于 2013-01-25T09:43:51.520 に答える