Изменение карты сущностей на другую «неизвестную» таблицу во время выполнения

Мне нужно написать приложение C#, которое работает с базой данных SQL-сервера, созданной и поддерживаемой старым приложением. Приложение создает новые таблицы каждый год, а «свойство года» находится в имени таблицы. Количество создаваемых им таблиц может варьироваться в зависимости от количества «разделов», созданных пользователем внутри приложения. Итак, мне приходится работать с такими таблицами, как Cwx_DRyz (вполне понятно...), где "wx" может быть разделом, а "yz" - годом. Примером группы таблиц может быть:

C01_DR07

C01_DR08

C01_DR09

C02_DR08

C02_DR09

C03_DR06

C04_DR12

И все эти таблицы могут представлять, например, , клиенты. Это будут клиенты из разных разделов и лет, но с одинаковой структурой.

У меня вопрос: могу ли я иметь объект Client для обработки всех этих таблиц и изменения отображения одной таблицы на другую во время выполнения? В заголовке написано «неизвестно», потому что я не знаю таблиц до выполнения.

Наиболее похожий вопрос, который я нашел, это Entity Framework сопоставить несколько таблиц с одной сущностью, и ответ заключается в использовании «Таблица для конкретного типа наследования», но это бесполезно для моего случая.

PS: EF версии 4.3.1 и VS2010

РЕДАКТИРОВАТЬ: таблицы не имеют первичных ключей... Большинство из них имеют столбцы, которые должны иметь уникальные значения (целые числа или строки).

5
задан Community 23 May 2017 в 11:51
поделиться