Alterar o mapa da entidade para outra tabela "desconhecida" no tempo de execução
Eu tenho que escrever um aplicativo c # que funciona com um banco de dados do servidor SQL criado e mantido por um aplicativo antigo. O aplicativo cria novas tabelas a cada ano e a "propriedade year" está no nome da tabela. O número de tabelas que ele cria pode variar dependendo do número de "seções" que o usuário criou dentro do aplicativo. Então, eu tenho que trabalhar com tabelas como Cwx_DRyz (bastante auto explicativo ...), onde "wx" pode ser a seção, e "yz" seria o ano. Um exemplo de grupo de tabela poderia ser:
C01_DR07
C01_DR08
C01_DR09
C02_DR08
C02_DR09
C03_DR06
C04_DR12
E todas essas tabelas podem representar, por exemplo, clientes. Seriam clientes de diferentes seções e anos, mas clientes com a mesma estrutura.
Minha pergunta é: Posso ter uma entidade de cliente para lidar com todas essas tabelas e alterar o mapeamento de um para outro em tempo de execução? O título diz "desconhecido" porque não conheço as tabelas antes do tempo de execução.
A questão mais semelhante que eu encontrei éEntity Framework mapeia várias tabelas para uma entidade ea resposta é usar a "Tabela por herança de tipo de concreto", mas não é útil para o meu caso.
PS: EF versão 4.3.1 e VS2010
EDIT: As tabelas não têm chaves primárias ... A maioria delas tem colunas que são supostas para ter valores exclusivos (integer ou string).