\begin{frame}[fragile]
\frametitle{LinQ}
\begin{code}{\textwidth}{LinQ: Querying an array}
\vspace{-1ex}
\begin{lstlisting}[language=Java,morekeywords={var,from,in,where,select,foreach,Console,orderby}]
//Create an array of integers
int[] myarray = new int[] { 49, 28, 20, 15, 25, 23, 24, 10, 7 };
//Create a a query for odd numbers,
var oddNumbers = from i in myarray where i \% 2 == 1 select i;
//Odd numbers in descending order
var sorted = from i in oddNumbers orderby i descending select i;
//Display the results of the query
foreach (int i in oddNumbers)
Console.WriteLine(i);
\end{lstlisting}
\end{code}
\vspace{-1ex}
\pause
LinQ allows query various kinds of data sources:
\begin{itemize}
\item LinQ to DataSet (querying data sets like lists)
\item LinQ to XML
\item LinQ to SQL (interact with logical database model)
\item \emph{LinQ to Entities} (interact with conceptual/object model)
\end{itemize}
\end{frame}