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