LINQ для сущностей ... без сущностей (если возможно) - PullRequest
1 голос
/ 23 ноября 2011

Звучит глупо, я знаю, но я хочу сделать что-то немного необычное ...

По сути, я ищу решение, которое имеет службу данных wcf на бэкэнде (или что-то вродеэто как минимум), что позволяет мне запрашивать мою базу данных, используя простой синтаксис url.

проблема, с которой я сталкиваюсь, заключается в том, что при изменении схемы БД мне приходится перекомпилировать весь бэкэнд, и это не хорошо, потому чтоСтроение позволяет дать определение «сущностям», так сказать.

По сути, я хочу, чтобы модель обновлялась каждый раз, когда БД обновляется ... как своего рода триггерное событие.

Я думаю, что EF не сделает этого, чтоприводит меня к моему актуальному вопросу ...

Как бы вы решили эту проблему?

Мне нужно именно то, что служба данных wcf предлагает из коробки ... просто с более динамичной моделью данных под ней.

1 Ответ

2 голосов
/ 23 ноября 2011

Вам нужно изменить O / RM на что-то более динамичное ... что-то вроде Massive можно использовать вместо EF.

Кто-то, похоже, делает то же самое с WebWCF ... Массивно с WCF Web Api для возврата динамических типов / Expandos? .

Если вы используете службы данных, вам нужно найти способ представить Massive как DataContext. WebWCF, с другой стороны, будет сериализовать динамические объекты в виде фрагмента JSON или XML, где это необходимо.


Проблема с вашим предлагаемым подходом заключается в том, что контракт веб-службы является динамическим, а не версионным. Это означает, что если вы удаляете / переименовываете / изменяете поле, вы по существу создали изменение в «Контракте», который клиенты используют для использования веб-службы. Это может привести к тому, что клиент сломается , если не будет обновлено одновременно.

Если вы ищете способ управления обновлением базы данных с изменением модели, я обнаружил, что EF Code First 4.2 и EF Migrations работают для меня довольно хорошо. 0.7.0.1 является достаточно стабильным и доступен от NuGet.

...