Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
MS SQL

EF/WCF Загрузка результата запроса через контекст в datatable затем в грид

29.05.2018, 11:27. Показов 3695. Ответов 60
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Коротко о главном - опыта в грандиозных разработках нет. Нужна помощь опытных людей.
Задача и проблема вот в чем:
есть сервер, на котором размещена WCF служба, есть клиент. - тут все просто.
в реализованном сервисе я получаю записи посредством модели :

db.User.Load(); - полученная таблица содержит много колонок, но не судь.

и сервис должен вернуть результат клиенту и отобразить в гриде.

как я могу это сделать?
Вариант 1:
На клиенте
datagrid.source = service.мой метод(); где в сервисе будет return db.User.Load(), но тогда какой тип указать для функции сервиса?

Вариант 2:
C#
1
2
3
DataTable result = new DataTable();
result = db.User.Load(); - здесь не получается присвоение
return result;
Вариант 3:
использовать foreach - скорее всего это правильный вариант, но во всех примерах которые я нашел, было присвоение результата неявной переменной var. Но я не могу для функции сервиса указать типа private var MyMetod() ...
по идее это выглядит как то так :
C#
1
2
3
4
5
6
...
DataTable result = new DataTable();
foreach(result in db.User.Load())
{ ... }
return result;
...
Я много не знаю, с литературой ознакамливаюсь, но на примере гораздо понятнее.
Теорию нужно закрепить практикой.
Вот никак не догоняю, как вот это db.User.Load() поместить в DataTable

P.S. Убедительная просьба, если знаете как это сделать (я уверен, это пару строк) - напишите сразу, не закидывайте ссылками на возможные ответы))

С уважением Prog-самоучка
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.05.2018, 11:27
Ответы с готовыми решениями:

Загрузка результата запроса
Добрый день!Делаю проект в vs c БД С#.Есть форма,в ней combobox и datagrid.Делается запрос в БД к нескольким таблицам.Как результат запроса...

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

Вывод результата LINQ-запроса через AJAX
Добрый день. Подскажите, знающие :) Есть 2 таблицы - Клиенты, Заказы. В таблице заказов: список товаров, у каждого товара есть FKey которым...

60
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
09.06.2018, 14:37  [ТС]
Студворк — интернет-сервис помощи студентам
Спасибо большое.
Если будут комментарии в коде - это упростит мое восприятие.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
09.06.2018, 14:44
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
Если будут комментарии в коде - это упростит мое восприятие.
Если по проекту серверной стороны что-то непонятно-спрашивайте. Хотя там все относительно просто.
0
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
09.06.2018, 14:46  [ТС]
Код я еще не смотрел (только после работы гляну), но как я понял это MVC. Model - View - Controll.
Изучу этот момент.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
09.06.2018, 14:59
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
как я понял это MVC
Это проект WebAPI (изначально я создал пустой). А так да, используется шаблон MVC.
0
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
09.06.2018, 21:59  [ТС]
По тихоньку начинаю разбираться. Сложно, но все же..
Попробую сделать свой WebApi по аналогии
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
09.06.2018, 21:59
ZLoiKurt, вот тестовый проект. Интерфейс там, конечно, корявый, но я и не стремился к красоте. Принцип работы там понятен, только в клиенте надо изменить адрес сервиса, передаваемый в конструктор ClientHelper-а, на тот, что будет у вас.
Вложения
Тип файла: rar ApiDemo.rar (7.14 Мб, 6 просмотров)
1
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
10.06.2018, 11:41  [ТС]
Сделал по аналагии - пока работает)
Есть только вопрос: а какого типа клиента делать? тоже WebApi с веб формой?Как правильно делать.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.06.2018, 11:54
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
вопрос: а какого типа клиента делать?
Какого угодно. В том и прелесть WebAPI, что с ним можно взаимодействовать и через веб-морду, и через обычное приложение. Посмотрите мой пример, там обычный ВинФормс используется.
0
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
10.06.2018, 15:12  [ТС]
Хорошо, WebApi у меня будет на основе MVC. Какой делать клиент, с ориентировккой на веб - студия предлагает ряд вариантов:
- веб формы
-MVC
-WebApi
- single page application

тут немного запутался..
Учебник есть какой толковый, а еще лучше сайт с примером.

Добавлено через 49 минут
Итак, что я сделал:
я создал WebApi, он тянет данные из БД через EF. Запросы Get работают.
Теперь что мне непонятно:
Я буду делать клиента веб-форму на основе MVC и WebApi (при выборе типа проекта установлю флаги).
Дальше. как мне связать клиента с WebApi, который работает с БД?
Как передавать ему запросы?
Темная степь, только на сайте метонит есть что-то адекватное.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.06.2018, 15:43
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
как мне связать клиента с WebApi, который работает с БД?
Как передавать ему запросы?
Если у вас веб-морда-как обычно, передавая запросы и получая ответы.Но вы можете в одном проекте сразу и апи создать, и тут же уже клиентскую часть (веб-морду на основе MVC).
Я предполагал что вам клиент нужно обычное приложение, и поэтому сделал клиента на винформах.
Посмотрите мой архив в сообщении #46

Добавлено через 3 минуты
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
только на сайте метонит есть что-то адекватное.
Да, там есть примеры.
0
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
10.06.2018, 21:20  [ТС]
Вы сделали только сервер, а клиента написали позже скините. Клиента я еще не видел)
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.06.2018, 21:27
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
Клиента я еще не видел)
Вы не внимательны)))
Цитата Сообщение от insite2012 Посмотреть сообщение
Посмотрите мой архив в сообщении #46
0
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
10.06.2018, 22:02  [ТС]
Согласен. Пропустил очевидное)
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.06.2018, 22:05
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
Пропустил очевидное)
Ну вот смотрите клиента. Там все просто, по аналогии для любых моделей сможете переделать.
0
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
12.06.2018, 12:10  [ТС]
А как вы подключили клиента к серверу? В случае WCF ссылка на службу, а в случае WebApi?

Добавлено через 15 минут
ТОчнее так, в случае клиента на WinForms все понятно, шлем на адрес запросы.
А в случае WebApi - непонятно. Т.е. я создал проект WebApi, настроил соединение с БД. и в этом же проекте я могу реализовать всю работу. Так? просто в примерах нигде не сказано "создаем клиента. создаем еще один проект и т.д..."
Тут я затупил.
А что будет если несколько человек будут работать с вебом?

Добавлено через 19 минут
Если я правильно понял:
Web Aplication - это сайт
Wep Api - это сервис, с которым работает сайт..
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
12.06.2018, 17:33
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
как вы подключили клиента к серверу?
Очень просто: написал код, в котором вставил адрес API.
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
Если я правильно понял:
Web Aplication - это сайт
Wep Api - это сервис, с которым работает сайт..
В одном и том же приложении можно написать и API, и веб-морду, через которую клиенты будут с ней работать.
Если веб-морда будет отдельная, то вероятно для обращения к API придется использовать CORS (хотя с этим не точно, я пока не вникал).
0
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
13.06.2018, 08:26  [ТС]
А есть какие нибудь инструменты для визуального создания веб-формы? Я уж очень не люблю вручную писать html-ки)
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
13.06.2018, 11:17
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
есть какие нибудь инструменты для визуального создания веб-формы? Я уж очень не люблю вручную писать html-ки)
Я сам не особо Html люблю (хотя и знаю его более-менее). Думаю инструменты есть, надо поискать в сети.
0
1 / 1 / 0
Регистрация: 20.04.2018
Сообщений: 35
14.06.2018, 13:36  [ТС]
Для всех, кто ищет быструю верстку форм для веба - http://livetools.uiparade.com/form-builder.html#

Добавлено через 22 часа 32 минуты
Пока я изучаю Web, кажется понял в чем у меня была проблема на WCF:
C#
1
2
[OperationContract]
ListSection[] GetSectionList();
// определяю в интерфейсе тип возвращаемых данных - массив объектов класса

сам класс:
C#
1
2
3
4
5
6
7
8
9
10
[DataContract]
    public partial class ListSection
    {
        [DataMember]
        public int Id { get; set; }
        [DataMember]
        public string Section { get; set; }
        [DataMember]
        public int IdLocation { get; set; }
    }
сам метод сервиса:
C#
1
 public ListSection[]     GetSectionList()       { return DBContext.ListSection.ToArray(); }
Соответственно вопрос: а правильно ли я использую сериализацию?
Явно что-то не указал.

Добавлено через 21 минуту
Для класса надо писать [Serializable]???
Я что-то прочитал и не понял:[Serializable] и [DataContract]/[DataMember] взаимоисключающие или взаимообязательные

Добавлено через 35 минут
А еще, в настройках проекта есть пункт WCF - там что-то необходимо настраивать?
Очень хочу разобраться в проблеме.
1
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
14.06.2018, 18:42
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
Соответственно вопрос: а правильно ли я использую сериализацию?
В принципе да.
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
Для класса надо писать [Serializable]???
Я что-то прочитал и не понял:[Serializable] и [DataContract]/[DataMember] взаимоисключающие или взаимообязательные
Не обязательно. Они не взаимоисключающие и не взаимообязательные. Можно написать только [Serializable], на противоположной стороне (у клиента, после добавления ссылки на службу) уже будут [DataContract]/[DataMember].
Суть этих атрибутов в том, что [Serializable] делает все поля типа сериализуемыми. А поскольку в SOA принят подход явного обозначения границ, именно на это и нацелены данные атрибуты-только те поля/свойства типа видны снаружи, которые разрешены разработчиком. Все остальные остаются невидимыми извне. Ну и еще возможность смены пространства имен и имен самого типа и/или полей/свойств.
Цитата Сообщение от ZLoiKurt Посмотреть сообщение
Очень хочу разобраться в проблеме.
Почитайте Джувела Леве, у него все это подробно рассматривается.

Добавлено через 3 часа 13 минут
ZLoiKurt, вот вам ради интереса пример того же самого (серверная сторона), только с использованием WebAPI.
https://github.com/yarik111475/WebApiDemo
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.06.2018, 18:42

Получение и вывод результата запроса к базе через ajax
Необходимо вывести результаты sql запроса к базе в div через ajax. Не получается составить запрос. Вот так получаю результат запроса: ...

Подключение к Access через OleDB и вывод результата запроса в textBox
Имеется подключение к Access через OleDB мне необходимо чтобы результат запросы выводился в textbox написал вот такой код using...

Сортировка StringGrid-а и вывод результата в другой грид
Значит так. У меня есть StringGrid1, который заполняется рандомно. Мне нужно его отсортировать и вывести результат в StringGrid2. Но что-то...

Вывести результат запроса из БД в грид
Вообще нужно сделать следующее: Вывести результат запроса из БД в грид. Далее, при изменении значений в полях грида - писать изменения в...

Данные запроса отразить в Грид на новой форме
Народ, пожалуйста, помогите, я новичек в C#. Есть база на mssql, все подключено. Хочу сделать запрос на выборку на отдельной форме,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru