LINQ with inner enumerable query

I'm struggling to get my head around LINQ. In the example below I have three meetings. Jane Doe is assigned to two of those meetings. But the code below which I think should produce an answer of two is showing three meetings. Any ideas?

class Program
{
    static void Main(string[] args)
    {
        Person p1 = new Person() { Name = "John Doe" };
        Person p2 = new Person() { Name = "Jane Doe" };
        Person p3 = new Person() { Name = "Alan Doe" };
        Meeting m1 = new Meeting() { MeetingName = "Meeting One", People = new List<Person> { p1, p2 } };
        Meeting m2 = new Meeting() { MeetingName = "Meeting Two", People = new List<Person> { p2, p3 } };
        Meeting m3 = new Meeting() { MeetingName = "Meeting Three", People = new List<Person> { p1, p3 } };
        List<Meeting> allMeetings = new List<Meeting>{m1,m2,m3};
        //Now, find all the meetings that Jane Doe is in
        var results = allMeetings.Select(x => x.People.Select(y => y.Name == "Jane Doe").Any());
        Console.WriteLine(results.Count().ToString());
        Console.ReadLine();
    }
}
public class Meeting
{
    public string MeetingName { get; set; }
    public List<Person> People { get; set; }
}
public class Person
{
    public string Name{get;set;}
}
Jon Skeet
people
quotationmark

This is the problem:

x.People.Select(y => y.Name == "Jane Doe").Any()

You're using Select, which is a projection, when you meant to use Where, for filtering. Given that Select never filters out any items, you're basically returning all meetings where there are any attendees at all.

In fact, you can do it more simply anyway, as Any can take a condition:

x.People.Any(y => y.Name == "Jane Doe")

people

See more on this question at Stackoverflow