LOB-приложение Silverlight с хранимыми процедурами с несколькими таблицами в результатах - PullRequest
1 голос
/ 24 июня 2011

Я уже пару недель возиться с Silverlight и с WCF, и с WCF Ria Services, и у меня все еще есть проблемы с ним. Моя цель - разработать LOB-приложение, в котором я использую хранимые процедуры для выбора, обновления, вставки и удаления с обратной стороны. В предыдущих примерах на WCF я видел людей, использующих linq с таблицей в своем контексте данных и выбирающих непосредственно из таблицы, что я не могу сделать. Я также видел людей, вызывающих хранимые процедуры непосредственно в контексте данных. Если я вызываю хранимую процедуру напрямую, это вызывает проблемы, когда дело доходит до проверки, поскольку у меня нет сущности для моей хранимой процедуры, и я не могу выбросить исключения в свойстве set, так как оно создается конструктором и будет перезаписываться каждый раз.

При использовании служб RIA я видел примеры, когда люди вставляли таблицу в свою модель Entity Framework, а затем отображали в ней выбор / обновление / вставку / удаление хранимых процедур, что прекрасно работает, если вы выбираете из одной таблицы. У меня проблема в том, что у меня есть запрос, который выбирает таблицу адресов, присоединенную к поиску таблицы стран через идентификатор для «Название страны», тогда я больше не могу сопоставить его с сущностью таблицы.

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

1 Ответ

0 голосов
/ 31 октября 2011

Я знаю, что в краткосрочной перспективе это бесполезно: не пользуйтесь RIA Services.

Создайте реальный бэкенд, используя WCF (или что вам нравится), и просто предоставьте методы, которые делают CRUD-код при этомточка.Таким образом, вы получаете бэкэнд, который можно использовать в нескольких сценариях, где RIAS не существует, и вы можете легко выполнить любую проверку, какую захотите, до того, как будет сделан вызов в БД.

Скорее всего, это произойдетбыть намного проще, чем вы думаете.

...