Приложение, в котором таблицы создаются пользователями динамически, не является сценарием для Entity Framework.Платформа сущностей требует, чтобы скомпилированные классы отображались в таблицы (+ отображение, если оно не подразумевается соглашениями), и ваш код должен использовать эти классы, чтобы использовать их в своих интересах.
По моему мнению, приложение, в котором таблицы создаются динамически, не является чем-то, где вы можете ожидать строго типизированный доступ или отличную производительность.Оба эти требования предполагают, что вы пишете код для четко определенного набора классов (определенных во время разработки) и оптимизируете код и доступ к данным для этих классов.В вашем сценарии это невозможно - используйте нетипизированные наборы данных и динамически создаваемые элементы управления с привязкой к данным SQL + ASP.NET и надейтесь, что это будет работать в большинстве случаев.
Редактировать:
Теперь я вижу, что вы хотите использовать MVC3 = нет привязанных к данным элементов управления.Вам придется написать код, проверяющий ваши нетипизированные наборы данных и создающий некоторый пользовательский интерфейс, позволяющий просматривать, редактировать и проверять данные со структурой, которую вы не знаете заранее.Как правило, это означает, что вам нужна ваша собственная метамодель, описывающая вновь созданные таблицы, ограничения, размеры полей, обнуляемые столбцы и т. Д., И используйте эту информацию для создания пользовательского интерфейса и, возможно, также для подготовки нетипизированных наборов данных из этой информации.