Как я могу получить доступ к двум или более идентичным таблицам, используя модель Entity Framework

#entity-framework

#entity-framework

Вопрос:

Для каждого производственного цикла в БД создается новая таблица с идентичной структурой; назовите их M100, M101 и т. Д. Я хочу указать свою модель Entity Framework на разные экземпляры таблиц. Как я могу это сделать? Обратите внимание, что таблицы находятся в одной базе данных, поэтому изменение строки подключения не требуется.

Комментарии:

1. Возможно, вы захотите пересмотреть дизайн БД и воспользоваться преимуществами TPT (наследование таблицы по типу) или TPH (наследование таблицы по иерархии).

Ответ №1:

EF не имеет встроенной поддержки для таблиц этого типа. В EF один класс = одно сопоставление = одна таблица (за исключением особых случаев, таких как наследование или разделение). Более того, предполагается, что все эти функции определены во время разработки, а база данных не изменяется во время выполнения.

Простой совет: не используйте EF для этого. Используйте прямой SQL или некоторую абстракцию SQL (представление, хранимые процедуры) между таблицами и EF. В противном случае вам придется манипулировать отображением для каждого запроса, а это непросто — это означает манипулирование файлом EDMX.