The Easiest way I have found to get table names is the following:
var tables = Context.MetadataWorkspace.GetItems(System.Data.Metadata.Edm.DataSpace.CSpace)
.Where(x => (x.MetadataProperties.Contains("NamespaceName") ? String.Compare(x.MetadataProperties["NamespaceName"].Value.ToString(), "Model", true) == 0 : false)
&& !x.MetadataProperties.Contains("IsForeignKey")
&& x.MetadataProperties.Contains("KeyMembers"));
That will get you the table entities.
Then you can do the following to extract the name:
foreach (var item in tables)
{
EntityType itemType = (EntityType)item;
String TableName = itemType.Name;
}
Note if your pluralizing the context you will need to undo that.