Como posso ler os metadados do EF DbContext programaticamente?

Eu tenho aplicativo que usa o EF-CodeFirst 5 (dll ver 4.4.0.0, no .net 4.0).

Eu preciso ser capaz de ler os metadados da entidade, para que eu possa, para um determinado tipo de entrada, obter as seguintes informações:

quais propriedades são relações um-muitos (entidades referenciadas)quais propriedades são muitas e uma relações (coleções de entidades referenciando a atual)também bom, mas não absolutamente necessário: quais propriedades são muitas muitas relações (coleções de relações)

Eu posso obter essa informação escrevendo loops foreach nas listas de propriedades e, em seguida, "reconhecendo-as", contando com todas as referências sendo virtuais, mas eu sinto que não é o caminho "correto". Eu sei dissoEdmxWriter pode fornecer essas informações no formato xml, mas o faz acessando o InternalContext que não é acessível publicamente e eu quero obter listas / matrizes fortemente tipadas diretamente, sem usar esse xml. Qual API devo usar (se houver uma para isso, parece que não consigo encontrá-la)?

questionAnswers(1)

yourAnswerToTheQuestion