title: LINQ to SQL error message: 'Where' not found
body: <p>I'm trying to start using LINQ and specifically LINQ to SQL but I'm having some difficulties</p>
  
  <p>I've tried this with SqlMetal and now using the database table designer in Visual Studio and I keep getting similar errors, like in this code, using the data context I created with the database layout designer in VS2008.</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Web;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  
  public partial class _Default : System.Web.UI.Page
  {
  protected void Page_Load(object sender, EventArgs e)
  {
      if (Page.IsPostBack)
      {
          string usn = UserNameBox.Text;
          string pss = PassBox.Text;
  
          if (usn == "" || pss == "")
              return;
  
          DataClassesDataContext dc = new DataClassesDataContext();
          var user = from u in User
                     where u.UserName == usn
                     select u;
  
      }
  }
  }
  </code></pre>
  
  <p>I get an error on the where saying: Could not find an implementation of the query pattern for source type 'System.Security.Principal.IPrincipal'. And also: 'Where' not found.</p>
  
  <p>I had something similar to this when I tried to use the results of SqlMetal. I deleted that source and started over using the designer. I must be missing something here but I can't figure out what. Shouldn't the tables implement what I need since I'm using LINQ to SQL, or do I need to do something extra to make that happen?</p>