Сервисы RIA для передачи не-БД объект-графа - PullRequest
0 голосов
/ 03 апреля 2010

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

Например, скажем, я хочу служебную операцию с именем "GetFolderInformation (string pathToFolder)". Я хочу, чтобы это возвращало пользовательский объект с именем «FolderInformation», структурированный с помощью:

 - string Name
 - IEnumerable<FileInformation> Files

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

Данные существуют за служебными слоями, которые не обязательно связаны внешними ключами ... например, папка / файл.

РЕДАКТИРОВАТЬ: я понял, что не задавал свой вопрос! У меня вопрос, есть ли способ сделать то, что я пытаюсь сделать?

1 Ответ

0 голосов
/ 29 апреля 2010

Это (сложные типы, графы объектов, которые не связаны с ассоциациями объектов) - это то, что мы хотим, но не сделали сокращение для v1.

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

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

...