WCF DataServices и динамически меняющиеся наборы данных - PullRequest
0 голосов
/ 19 ноября 2011

из того, что я видел до сих пор, службы данных WCF довольно просты в настройке при использовании в сочетании с EF.

Это то, что мне нужно, но мне также нужна возможность изменения модели EF во время выполнения.

Я создаю приложение, в котором пользователи приложения смогут указать структуру базы данных, а затем начать ее заполнять ... соответствующие необходимые компоненты пользовательского интерфейса генерируются с помощью MVC с использованием некоторой хитрой хитрости, основанной на правилах.

Так, например, пользователю будет предоставлена ​​кнопка «Создать новый объект», которая позволит ему указать имена полей.

Как только эта часть будет завершена, пользователь отправляет ее и генерирует новую таблицу.в БДОттуда генерируются компоненты пользовательского интерфейса, которые позволяют управлять этой таблицей в приложении.

Проблема, конечно же, заключается в том, чтобы добавить эту новую таблицу в модель EF без перекомпиляции серверной службы данных.

Идея состоит в том, что это создает базу данных и страницы, необходимые для управления ее различными частями (здесь имеется в виду более широкая картина, но я не хочу путать вопросы, пытаясь объяснить все это).

Я думаю, что, возможно, EF не является подходящим инструментом для использования в данный момент ... потому что для работы ему нужен строго типизированный набор сущностей ... что в этом случае может оказаться невозможным.

Я играю над идеей передачи этого сервиса динамическим объектам ... (например, объектам типа Something: dynamic)

Ответы [ 3 ]

1 голос
/ 19 ноября 2011

Службы данных WCF могут использоваться без Entity Framework. Используя либо «поставщика отражений», либо настраиваемого поставщика, который вам придется реализовать (поставщик отражений требует наличия реальных классов .NET, чего у вас нет).

По сути, вы реализуете класс DataService и интерфейс IServiceProvider, который будет предоставлять экземпляры IDataServiceQueryProvider, IDataServiceMetadataProvider и IDataServiceUpdateProvider. Это может потребовать много работы, поэтому убедитесь, что вы действительно хотите это сделать.

См. http://msdn.microsoft.com/en-us/library/ee960143.aspx для получения дополнительной информации.

1 голос
/ 19 ноября 2011

Я хотел бы предположить, что не только структура сущностей не подходит для этого, но и реляционная база данных.база данных документов или хранилище значений ключей, вероятно, подойдет лучше, чем создание таблиц по требованию, чтобы поместить это в реляционную структуру.

0 голосов
/ 19 ноября 2011

OMG ...

Видимо, это поддерживается (в основном) из коробки с EF 4.2

http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-release-candidate-available.aspx

ВАУ !!!

...