ORM для источников данных WebServices? - PullRequest
4 голосов
/ 05 сентября 2010

Кажется, есть много отличных объектно-реляционных картографов, некоторые из которых я использовал сам (LLBLGen - тот, который мне очень нравится). Кто-нибудь знает какие-либо инструменты .Net, помогающие создать богатый уровень доступа к данным, когда источник данных не является базой данных - или, более конкретно, где источником данных является множество высокодетализированных веб-сервисов, которые возвращают множество объектов, специфичных для домена, и DTO?

Почему я даже хочу слой доступа к данным, когда у меня есть веб-сервисы, которые я мог бы просто вызвать напрямую из BLL, который вы спросите? Ну а если оставить в стороне механизмы ведения журналов, кэширования и предварительной выборки, я хотел бы иметь возможность транслировать все слегка изменяющиеся DTO веб-службы с несколько различными соглашениями об именах и отображать их в мои собственные, последовательно именованные и составленные классы с общей базой тип. Задача не из легких, поэтому я надеюсь, что есть какие-то инструменты, которые помогут!

Спасибо за любые советы или указатели!

Ответы [ 4 ]

1 голос
/ 13 сентября 2010

То, что вы описываете, не является ORM, поэтому вы, вероятно, не найдете то, что вам нужно.

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

1 голос
/ 13 сентября 2010

Технически, то, что вам нужно, это не ORM, так как здесь нет «реляционной» части. Так что, скорее всего, существующие ORM-подобные инструменты не подойдут "из коробки".

Я бы посоветовал вам взглянуть на пользовательские инструменты генерации кода, например, T4 (встроенный в VS2008 +) или CodeSmith.
SubSonic 3 имеет несколько шаблонов для ActiveRecord и классов репозитория, вы можете начать с этих шаблонов и изменить их на использование веб-служб в качестве «бэкэнда» вместо базы данных.

P.S. Просто для справки: здесь - это один поток (начатый мной некоторое время назад), который обсуждает ORM и автогенерацию классов.

0 голосов
/ 08 сентября 2010

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

0 голосов
/ 07 сентября 2010

В зависимости от того, насколько сложным на самом деле является сценарий, я бы выбрал свой собственный, используя более специфические рамки для функций, которые вы упомянули (кэширование, ведение журнала и т. Д.) И AutoMapper.

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

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