+1  A: 

you can reference the metaModel via the dataContext

MetaModel refMetaModel = MetaModel.GetModel(typeof(yourdataContextName));
MetaTable refMetaModel;
refMetaModel =  refMetaModel.GetTable("yourTableName");

PS looked at your code and this works in your sceanrio. You can get the tables from the model then inspect the data returned for each table in the model

MSDN article on the MetaModel

A: 

Uselful to use this as well from the Linq to Entities Model -

Using the dataContext - you can get the acutal data most useful.

The metaModel allows access to the dataModel which gives you the underlying ddl type information

//use the datacontext to get the underlying data
      using (brrdbEntities brr = new brr_dbEntities())
      {
          ObjectQuery<person> people = brr.person;
          IQueryable<string> names = from p in people select p.person_name;
          foreach (var name    in names)