title: Linq DataContext.Mapping.GetTables() returns nothing
body: <p>I am trying to use LINQ as much as possible so I would like to figure this one out.  I am able to get a list of tables in a user-selected server/database using the DataContext ExecuteQuery method but not using the Mapping.GetTables() enumerator.  </p>
  
  <p>Here is what I have (called by a BackgroundWorker.RunWorkerAsync(args)):</p>
  
  <pre><code>//Build the connection string (args contains the Server and database names)
  Dictionary&lt;string, string&gt; args = (Dictionary&lt;string, string&gt;)e.Argument;
  string ConnectString = "Data Source=" + args["SqlServerHolder"] + ";Integrated Security=True;Initial Catalog=" + args["SqlServerDatabaseHolder"];
  
  //Get the connection and pull the list
  using (SqlConnection con = new SqlConnection(ConnectString))
  {
      // Open connection
      con.Open();
  
      //create a linq connection and get the list of database names
      DataContext dc = new DataContext(con);
  
      //THIS WORKS
      e.Result = new ObservableCollection&lt;string&gt;(dc.ExecuteQuery&lt;string&gt;("SELECT [name] FROM sysobjects WHERE xtype='U'").AsEnumerable());
  
      //THIS COMES BACK EMPTY (tables)
      IEnumerable&lt;string&gt; tables = (from mt in dc.Mapping.GetTables() select mt.TableName);
      e.Result = new ObservableCollection&lt;string&gt;(tables);
  }
  </code></pre>
  
  <p>Running the hard coded query works but I would rather use the GetTables() method to avoid that.  The only thing I can think of is the database is connected to on the fly like that and I somehow have to populate the Mapping?</p>
  
  <p>Thanks
  Ernie</p>