title: How do you determine subtype of an entity using Inheritance with Entity Framework 4?
body: <p>I am just starting to use the Entity Framework 4 for the first time ever.  So far I am liking it but I am a bit confused on how to correctly do inheritance.  </p>
  
  <p>I am doing a model-first approach, and I have my Person entity with two subtype entities, Employee and Client.  EF is correctly using the table per type approach, however I can't seem to figure out how to determine what type of a Person a specific object is.  </p>
  
  <p>For example, if I do something like</p>
  
  <pre><code>var people = from p in entities.Person select p;
  return people.ToList&lt;Person&gt;();
  </code></pre>
  
  <p>In my list that I form from this, all I care about is the Id field so i don't want to actually query all the subtype tables (this is a webpage list with links, so all I need is the name and the Id, all in the Persons table).  </p>
  
  <p>However, I want to form different lists using this one query, one for each type of person (so one list for Clients and another for Employees).  </p>
  
  <p>The issue is if I have a Person entity, I can't see any way to determine if that entity is a Client or an Employee without querying the Client or Employee tables directly.  How can I easily determine the subtype of an entity without performing a bunch of additional database queries?</p>