![]() |
|
Модераторы: gambit |
![]()
|
|
| kinder999 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.6.2007 Репутация: нет Всего: нет |
Доброго времени суток.
Имеется в БД хранимая процедура ShowTest (входящий параметр int ids). Процедура возвращает временную таблицу (по запросу):
Вопрос, как мне получить данные, которые возвращаются в виде таблицы? Пробывал как в msdn (http://msdn.microsoft.com/ru-ru/library/bb399407.aspx) сделать
но т.к. @RETURN_VALUE = 0, result=0. Заранее спасибо за ответы. |
||||
|
|||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: нет Всего: 118 |
не вижу проблем. Видео с нуля до запросов (и результатов на форме) в аттаче (это 7z архив)..
Присоединённый файл ( Кол-во скачиваний: 10 )
Video_2010_10_11_222136.doc 899,19 Kb-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| kinder999 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.6.2007 Репутация: нет Всего: нет |
Спасибо за видео, но это немножко не то...
Я делаю это в WCF, для того, что бы потом передать в Silverlight Я не понимаю, как можно получить эту таблицу, что бы её потом обработать в коде WCF использую Linq to SQL Если можно, то приведите, пожалуйста, пример кода |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: нет Всего: 118 |
kinder999, ну используя например WCF RIA Services достаточно легко
Я добавил видео на http://vimeo.com/15766620 .Одно но, я ошибся и написал set для поля Key. Этого не нужно, т.к. linq2sql будет проставлять тогда 0-ём наше поле Id. NOTE: Ну и получился не совсем удачный пример, т.к. у нас ключ будет один и тот же, поэтому в интерфейсе отобразится только одна запись (по сути distinct записей произойдет), хотя на клиента прокачается 2-е записи (это свойство DomainDatasource делать дистинкт по ключу) Хранимка такая:
Это сообщение отредактировал(а) jonie - 12.10.2010, 13:10 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| kinder999 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.6.2007 Репутация: нет Всего: нет |
Блин, чё-то не получается....
Если запускать через Database output:
Пробую в Wcf SErvice создать функцию, но у меня в Linq to sql не добавляется класс моей процедуры, хотя она добавлена в него ![]() в свойствах стоит Return Type: (None) текст самой процедуры писал не я, но мне приходится с ней работать:
на выходе получается таблица, мне из неё надо взять данные в WCF Service... Второй день никак не могу понять, как это сделать Это сообщение отредактировал(а) kinder999 - 12.10.2010, 15:22 |
||||
|
|||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: нет Всего: 118 |
ну у вас просто сложный результат и автоматически его прожевать SQLMetal не может. Вам надо руками добавить тип в окошко слева, указать поля и типы полей (а также ограничения) и руками опять же указать тип результата (вписать прямо). И всё будет.
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| kinder999 |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.6.2007 Репутация: нет Всего: нет |
Создал в Linq to SQL designer класс
в WCF пишу:
выдаётся ошибка
Метода AsQueryable() почему-то нету... Это сообщение отредактировал(а) kinder999 - 12.10.2010, 15:59 |
||||||
|
|||||||
| kinder999 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.6.2007 Репутация: нет Всего: нет |
Вопрос решён:
в Linq to SQL designer изменил стандартную функцию, которую создала VS
на
как в примере http://msdn.microsoft.com/ru-ru/library/bb386975(VS.90).aspx |
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
И зря. Лучше было dbml править. Так как твои изменения в дизайнер-файле затрутся при правке дбмл-я.
|
|||
|
||||
| kinder999 |
|
||||||||||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.6.2007 Репутация: нет Всего: нет |
хорошо, скажите, пожалуйста, как его поправить? И ещё вопрос: У меня в переменную передаётся таблица. Когда я пытаюсь разбить по столбцам из массивов:
У меня выскакивает:
Подскажите, пожалуйста, как более грамотно вытащить данные из таблицы, если у меня есть класс
И мне надо в экземпляр класса внести данные из таблицы. Получаемая таблица имеет вид:
Заранее спасибо за ответы. |
||||||||||
|
|||||||||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Можно в дизайнере создать нужный класс и выбрать его как результирующий тип процедуры. Можно открыть дбмл как XML и вписать ElementType. Форсируй запрос сразу (ToArray/ToList). Затем используй in memory коллекцию.
Как-то неочевидно. В структуре класса у тебя дикшенри (которые напрямую L2SQL непромаппит). Сделай запрос, а потом (через Linq to Objects) преобразуй в нужную структуру (только начале определись, что там как преобразовывать надо вообще). Это сообщение отредактировал(а) Любитель - 15.10.2010, 20:31 |
|||
|
||||
| kinder999 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 11.6.2007 Репутация: нет Всего: нет |
Любитель, спасибо. Всё заработало!
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |