Finalidade e semântica da interface IMigrationMetadata no Entity Framework

Estou tentando descobrir qual é a semântica da interface System.Data.Entity.Migrations.Infrastructure.IMigrationMetadata na EF. Eu sei que é usado para gerenciar e aplicar migrações de banco de dados. Mas não consigo encontrar informações detalhadas sobre isso. Para ser específico, gostaria de saber:

Para qual propriedade Source é usada? Por que é sempre nulo quando gero migrações usando ferramentas?Para qual propriedade Target é usada? Eu vejo que as ferramentas estão gerando algo com aparência de Base64 e colocadas em recursos. O que é isso? Por que é gerado em formato não amigável?É possível desenvolver a migração manualmente sem o uso de ferramentas? Eu suponho que não é fácil por causa do valor da propriedade Target Base64 que deve ser gerado de alguma forma. Estou certo?Quando esta interface é realmente usada? No momento, descobri que as migrações que não implementam essa interface não podem ser encontradas automaticamente pelo migrador. Estou certo? É o único propósito da interface?

questionAnswers(2)

yourAnswerToTheQuestion