Операции CRUD с базовыми данными POCO через службы данных OData / WCF - PullRequest
1 голос
/ 06 февраля 2012

Я пытаюсь написать службу OData в C # 2010, которая предоставляет некоторые POCO для веб-клиента jQuery через JSON, но также позволяет обновлять базовые данные.Я нашел много примеров данных POCO только для чтения через OData и множество примеров обновляемых данных через Entity Framework и OData.

Моя проблема заключается в том, что данные находятся в частной базе данных, поэтому для обработки обновлений БД должен быть слой бизнес-логики, и я не вижу, как это вписывается в модель служб данных OData / WCF.Я заполняю сущности POCO, используя списки IQueryable, и выставляю их, используя SetEntitySetAccessRule, но как мне вызвать метод на уровне бизнес-логики / модели данных, чтобы сохранить данные в БД?выставить методы обслуживания?Если да, может кто-нибудь указать мне простой пример, пожалуйста?

Спасибо

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Моим предложением будет пользовательский поставщик услуг данных WCF, чтобы вы могли иметь собственную реализацию IDataServiceUpdateProvider.Хорошая серия блогов на http://blogs.msdn.com/b/alexj/archive/2010/01/07/data-service-providers-getting-started.aspx

0 голосов
/ 06 февраля 2012

Предложение Рича о реализации IUpdatable / IDataServiceUpdateProvider является правильным.Это способ поддержки операций обновления (поставщик EF реализует этот встроенный модуль, поставщик отражений - нет, поэтому вам придется делать это самостоятельно).Вы можете реализовать IUpdatable даже при использовании поставщика отражения.Просто сделайте ваш класс контекста (тот, который вы передаете как T в DataService), реализует интерфейс IUpdatable.

...