Question: Trying to implement a very simple TPH setup for a system I'm making, 1 base, 2 inherited classes.

However the inherited classes all belong to the same entity set, so within my ObjectContext using loop, I can only access the base abstract class. I'm not quite sure how I get the elements which are concrete classes? (I've also converted it to using POCO).

![alt text](https://i.stack.imgur.com/AJttL.png)

Then within my application using the Entities:

```
using (SolEntities sec = new SolEntities()) {
    Planets = sec.CelestialBodies;
}

```

There's a CelestialBodies entity set on `sec`, but no Planets/Satellites as I'd expect.

Not quite sure what needs to be done to access them.

Thanks

Answer: 
You can use the `OfType` method:

```
using (SolEntities sec = new SolEntities()) {
    Planets = sec.CelestialBodies.OfType<Planet>();
}

```
As Thomas Levesque described `OfType` extension method will allow you querying only single inherited type you really want to access. If you access `CelestialBodies` directly you will get all entities. Every entity will be of type `Planet` or `Satellite` but you will have to cast them to access their properties.