This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
You seem to have forgotten to ask a question? And if you're asking about why the exception occurs, it's really helpful if you tell us which line it happens on (which the exception message tells you). However, as a quick hint: your code assumes that query returns Person objects. Does it?