title: LINQ query on DataTable - Could not find an implementation of the query pattern
body: <p>Can anyone tell me why this doesn't compile? The error is:</p>
  
  <blockquote>
    <p>Could not find an implementation of the query pattern for source type <code>System.Data.DataTable</code>.  <code>Where</code> not found.</p>
  </blockquote>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Data.SqlClient;
  using System.Data;
  
  namespace caLINQ
  {
      class Program
      {
          static void Main(string[] args)
          {
              string connectionString = "Data Source=STEVEN-PC\\SQLEXPRESS;Initial Catalog=linqtest;Integrated Security=True;Pooling=False";
              using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectionString))
              {
                   connection.Open();
                   String cmdText = "select * from customers";
                   System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(cmdText, connection);
                   System.Data.SqlClient.SqlDataReader dr;
                   dr = cmd.ExecuteReader();
                   DataSet ds = new DataSet();
                   ds.Load(dr, LoadOption.OverwriteChanges, "tab1");
                   DataTable dt = ds.Tables[0];
                   var qy = from c in dt // error is here
                            where c.country == "Italy"
                            select c.name;
              }
              Console.ReadKey();
          }
      }
  }
  </code></pre>