|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
|||||||||||||||||||||
MVVM postgres17.06.2020, 10:41. Показов 18778. Ответов 200
Метки нет (Все метки)
учу mvvm
появилось много вопросов я создал модель Кликните здесь для просмотра всего текста
создал сервис , который должен заполнять данными я это сделал так Кликните здесь для просмотра всего текста
после чего в основном классе Кликните здесь для просмотра всего текста
и тут первый вопрос. можно это сделать без циклов ? например сразу конвертировать в BindingList и как вообще правильно заполнять данными из бд? дальше я показываю таблицу в view Кликните здесь для просмотра всего текста
и снова вопрос. мне нужно добавлять данные в BindingList и при событии добавления/удаления/изменения делать изменения в бд? Или просто делать запросы в бд update/insert и после этого заново заполнять данными? второе звучит проще и логичней для меня.
0
|
|||||||||||||||||||||
| 17.06.2020, 10:41 | |
|
Ответы с готовыми решениями:
200
Mvvm
|
|
14809 / 9582 / 1368
Регистрация: 21.01.2016
Сообщений: 36,093
|
|
| 30.03.2021, 06:57 | |
|
0
|
|
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
|
| 30.03.2021, 08:29 [ТС] | |
|
0
|
|
|
14809 / 9582 / 1368
Регистрация: 21.01.2016
Сообщений: 36,093
|
|
| 30.03.2021, 08:30 | |
|
onimor, никто его не использует для настроек.
0
|
|
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
|||||||
| 30.03.2021, 08:40 [ТС] | |||||||
|
Последний вопрос : Допустим вот он класс
0
|
|||||||
|
14809 / 9582 / 1368
Регистрация: 21.01.2016
Сообщений: 36,093
|
|
| 30.03.2021, 08:47 | |
|
0
|
|
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||
| 30.03.2021, 08:50 [ТС] | ||
|
0
|
||
|
14809 / 9582 / 1368
Регистрация: 21.01.2016
Сообщений: 36,093
|
|
| 30.03.2021, 08:56 | |
|
1
|
|
|
Модератор
|
||
| 30.03.2021, 11:58 | ||
|
Тот же Properties.Settings совмещает в себе одновременно оба варианта. В основе его словарь, но каждый ключ обёрнут в ещё и в свойство. Значение можно получить как по имени настройки в словаре, так и через одноимённое свойство.
1
|
||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||
| 31.03.2021, 18:21 [ТС] | ||
|
Помимо всего меня смущает вынужденная проверка на ошибки, когда другой поток может крашнуться при работе с бд ведь надо обработать и сообщить пользователю ошибку, из-за чего метод возвращающий коллекцию или bool начинает возвращать Task<object> в котором либо ошибка, либо нужные данные. как по другому сделать не придумал. в MainWindowsModel это происходит. Из-за этого VM становиться еще более велосипедный какой-то..
0
|
||
|
Модератор
|
|||
| 31.03.2021, 18:29 | |||
|
Самый верхний метод void (например Execute команды). И в нём нужна обработка ошибок. Устанавливается какое-то свойство и/или посылается сообщение о ошибке. А где ещё их обрабатывать? Добавлено через 36 секунд Если не забуду, посмотрю завтра.
0
|
|||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||||
| 31.03.2021, 19:12 [ТС] | ||||
|
Добавлено через 24 секунды Добавлено через 2 минуты
0
|
||||
|
Модератор
|
|||
| 31.03.2021, 19:26 | |||
|
Он должна быть непрерывной до верхнего уровня в VM, в View или в App. Добавлено через 5 минут До VM должны подыматься таски. А вот в VM, если поймана ошибка можно создать событие. Событие "ловит" App и там уже создаёт Окно с сообщением об ошибке. Это типовая схема. Но есть множество и других. В том числе можно для ошибок создать свой канал или шину сообщений. На него подписывается App или View. А посылать сообщения об ошибке может любой объект. Пример простого Мессенджера можете посмотреть здесь 3. Шины Сообщений.
1
|
|||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||||||||||||
| 31.03.2021, 20:21 [ТС] | ||||||||||||
|
к примеру если выполнить этот метод
на сколько понимаю я отслеживаю, что нет ошибок при запуске потока, а то что уже внутри- основной поток не видит. По этому ошибка не ловиться. и нужно ловить ее уже внутри
Добавлено через 3 минуты или как-то нужно по другому делать асинхронные запросы к базе?
0
|
||||||||||||
|
Модератор
|
|||||||||||
| 31.03.2021, 21:23 | |||||||||||
|
onimor, вы чуток хоть прочитайте за асинхронные методы.
И с какого перепуга вы в потоке открываете ObservableCollection ? Это же азы Шарпа не имеющие отношения к WPF.
И очень не удачно назвали тип Posts.Это же ОДИН пост, а не множество. Название должно быть или Post (один пост), или PostsItem (элемент коллекции постов).Добавлено через 37 секунд Для уровня Модели лучше подходит Post.
0
|
|||||||||||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||||
| 01.04.2021, 07:05 [ТС] | ||||
|
Сначала было как у вас сделано. Но не все ошибки ловит в VM. После чего начались велосипеды с попытками поймать в model, то что вы видели выше, но и там не ловиться. Если не передать строку коннекта в DB контекст и выполнить метод, то ошибка не ловиться к примеру.
0
|
||||
|
14809 / 9582 / 1368
Регистрация: 21.01.2016
Сообщений: 36,093
|
|
| 01.04.2021, 07:39 | |
|
0
|
|
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
||||||||||||||||||||||||||||
| 01.04.2021, 08:42 [ТС] | ||||||||||||||||||||||||||||
|
Добавлено через 7 минут там и
Добавлено через 10 минут можно конечно, к примеру, делать проверку постоянно перед запросом к базе
0
|
||||||||||||||||||||||||||||
|
14809 / 9582 / 1368
Регистрация: 21.01.2016
Сообщений: 36,093
|
||||||||||||
| 01.04.2021, 08:46 | ||||||||||||
|
onimor,
1
|
||||||||||||
|
96 / 76 / 25
Регистрация: 18.02.2016
Сообщений: 771
|
|||||||||||||
| 01.04.2021, 08:58 [ТС] | |||||||||||||
|
щас заметил что нет
Добавлено через 9 минут И кстати теперь ошибка нормально ловиться , когда вызывается метод, но в датаконтекст не передаеться строка коннекта. В отлии от
0
|
|||||||||||||
|
14809 / 9582 / 1368
Регистрация: 21.01.2016
Сообщений: 36,093
|
|
| 01.04.2021, 09:02 | |
|
0
|
|
| 01.04.2021, 09:02 | |
|
MVVM Model в MVVM Mvvm datagrid ef WPF MVVM MVVM патерн Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
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.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|