Динамическая сущность в EF1 / изменение модели во время выполнения / динамическое добавление свойства

2

Я хочу дать пользователям возможность динамически добавлять новые столбцы во время выполнения. Я использую инфраструктуру Entity v1...

Мне удалось прочитать как xml, а затем изменить файлы ssdl, csdl и msl и построить новое рабочее пространство и новый контекст объекта... Но проблема в том, что когда я динамически добавляю новые столбцы в EF-модель, основной объект не изменяется, конечно.

Как получить данные из модели без конкретной организации? Анонимный тип или DBDataRecord будет в порядке... Или даже некоторый новый тип, созданный во время выполнения...

Любая идея?

Теги:
entity-framework
linq-to-entities

2 ответа

0
Лучший ответ

В v1 вам нужно создать новую сборку. Это также потребует перераспределения EdmGen. Я не знаю, является ли это законным.

В EF v4 вы, вероятно, могли бы комбинировать динамические типы С# с моделированием только кода и придумать довольно гладкое решение вашей проблемы.

  • 0
    Хммм никогда не приходило мне в голову, что дистрибутив EdmGen нелегален ... надеюсь, вы не правы ;-) EdmGen2.exe имеет доступный источник, и, посмотрев быстро на его лицензию, я бы сказал, что распространять его не проблема. Да, вы правильно ... EF v4 было бы здорово ... но я не могу его использовать ... :( В любом случае, я искал любое решение, которое я мог бы сделать с помощью кода без необходимости новых DLL ...
  • 0
    Хотя я не получил ответ, на который я надеялся, я отмечу этот ответ как ответ. Я постараюсь использовать edmGen2 и посмотрю, что произойдет. пожелай мне удачи ;)
1

Изменение модели объекта CSDL/SSDL не изменит типы, поскольку они используются для генерации типов во время разработки. Я не думаю, что есть какой-либо практический способ изменить эти типы во время выполнения, чтобы отразить ваши изменения в модели.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню