0

私は人物オブジェクトのコレクション A を持っており、その人物には「ID」というプロパティがあります。また、personcountry オブジェクトのコレクション B もあり、personcountry オブジェクトにはプロパティ personId があります。

ここで、コレクション B に personId を持つオブジェクトがあるコレクション A のすべての人を選択したいと考えています。

では、このデータで

person (collection A List[Person]) 
person id  name
    1      John
    2      John
    3      John2
    4      Pete
    5      Bill
    6      Samantha

およびこのコレクション B (List[Country])

country id  personid
1             1
1             3
2             5

コレクション A から ID 1、3、および 5 の person レコードが必要です。

intersect メソッドを使用して int の 2 つのコレクションを使用することはできましたが、2 つのオブジェクト コレクションを使用すると行き詰まります。

4

2 に答える 2

4
 var q = Persons.Where(p => Countries.Any(c => p.Id== c.PersonId))
于 2012-08-30T13:26:35.943 に答える
0

参加します

var query = (from p in persons
            join pc in personcountry on p.Id equals pc.PersonId
            select p).AsEnumerable();
于 2012-08-30T13:27:07.693 に答える