Одата Эдм против поставщика отражений - PullRequest
0 голосов
/ 12 марта 2012

Я хотел знать, какой из них лучше всего подходит - EDM или поставщик рефлексии для проекта. Определенно, EDM гораздо проще разрабатывать на базе данных. Но проблема в том, что, если у нас уже есть уровень доступа к данным над базой данных, нам, возможно, придется изменить существующую архитектуру, если она будет выбрана с помощью EDM. Поэтому я хотел бы знать, были ли любые конкретные различия в использовании между моделью данных объекта или поставщиком отражения для представления данных в виде канала Odata.

1 Ответ

0 голосов
/ 09 апреля 2012

Поставщик отражений использует отражение для построения модели на основе иерархии классов.Поставщик EDM напрямую использует модель, созданную Entity Framework.Если у вас уже есть уровень доступа к данным, то я думаю, что у вас есть три варианта: - попробуйте использовать провайдер Reflection, если он отлично работает.К сожалению, я сомневаюсь, что это сработает - это изменит ваши объекты, но я не думаю, что оно будет отправлять запросы в базу данных.В дополнение к возможности обновления данных вам потребуется реализовать интерфейс IUpdatable - с поставщиком EDM / EF вам, вероятно, потребуется переместить весь уровень доступа к данным на EF.Это означает, что вам, вероятно, придется избавиться от имеющегося у вас уровня доступа.Преимущество состоит в том, что, как только это будет сделано, оно должно работать практически из коробки (запросы обновлены и т. Д.) - наконец, вы можете реализовать собственного провайдера.Есть несколько интерфейсов, которые вы должны реализовать, которые будут действовать как мост между службой данных WCF и вашим уровнем доступа.Обратите внимание, что это довольно много работы.Вот первый пост в серии, который описывает, как это сделать: http://blogs.msdn.com/b/alexj/archive/2010/01/07/data-service-providers-getting-started.aspx

...