Могу ли я использовать Entity Framework для этого? - PullRequest
3 голосов
/ 18 октября 2010

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

В этом приложении мне нужно создать библиотеку, которая позволит пользователям выполнять операции CRUD над базой данных.Для этого клиент предоставил XSD, из которого нам нужно сгенерировать классы.Используя эти классы и предоставленный клиентом поставщик услуг передачи данных, пользователь может выполнять операции CRUD.

Это приложение готово, и теперь я хочу предоставить его с использованием ODATA.Вот мои выводы о том, как выставить эту библиотеку как ODATA

  1. . Мне нужно либо использовать провайдера Custom / Reflection, поскольку я не могу использовать Entity Framework, потому что у меня нет доступа к данным.1010 * Но в будущем XSD изменится.Поэтому мне нужно менять метаданные всякий раз, когда это происходит.Могу ли я справиться с этим так, чтобы последние метаданные всегда отображались без изменения моего кода?

    Должен ли я продолжить работу с рефлексией / пользовательским поставщиком?

    Спасибо,

    Ram

1 Ответ

0 голосов
/ 23 октября 2010

Вы определенно можете изменить форму OData, которая возвращается при изменении XSD.Тем не менее, есть серьезная проблема с этим.Большинство клиентов генерируют клиентские классы на основе SSDL, который присутствовал, когда ссылка на службу была добавлена ​​.В результате клиенты потерпят неудачу, так как объектная модель не будет соответствовать новой форме данных.

Вам гораздо лучше создать новую версию службы при изменении схемы.Затем, даже если вам нужно удалить предыдущие версии (что приведет к ошибке времени выполнения на клиенте).

Другой вариант - использовать функции, совместимые с WCF.Однако я понятия не имею, как они работают со службами данных WCF.

Erick

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...