|
1 / 1 / 0
Регистрация: 04.05.2021
Сообщений: 156
|
||||||||||||||||
Как обнулить значения TextBox в команде после сохранения их в БД21.03.2023, 15:34. Показов 7397. Ответов 134
В TextBox я записываю данные которые потом сохраняются в бд, а как обновлять потом ТекстБоксы после добавления в команде, чтобы они обнулялись для добавления новых данных, чтобы пользователю не приходилось их стирать?
RelayCommand
0
|
||||||||||||||||
| 21.03.2023, 15:34 | |
|
Ответы с готовыми решениями:
134
Как после выполнения процедуры, обнулить значения Request-a?
Сохранения значения slect после обновления страницы |
|
1 / 1 / 0
Регистрация: 04.05.2021
Сообщений: 156
|
||||||||||||
| 29.03.2023, 17:40 [ТС] | ||||||||||||
0
|
||||||||||||
|
|
||
| 29.03.2023, 17:47 | ||
|
В общем вы потеряли кучу функционала по ускорению работы с БД... Ведь самое затратное - это по новой перечитать данные, когда можно просто добавить готовый объект, который уже создал EF со всеми ID, в коллекцию, VM и т.д., а БД оставить в покое. Вот представьте, у вас в таблице 100000 записей и вы добавляете одну, и по вашему коду нужно будет опять перечитать все 100000 записей только для того, чтобы соблюсти целостность нового ID ОДНОЙ записи...
0
|
||
|
Модератор
|
||
| 29.03.2023, 18:09 | ||
|
Или, если используется Code First, настраивается атрибутами сущности и в Контексте БД. Настройка индексов с помощью атрибутов | METANIT
0
|
||
|
1 / 1 / 0
Регистрация: 04.05.2021
Сообщений: 156
|
|
| 29.03.2023, 18:51 [ТС] | |
|
0
|
|
|
Модератор
|
||||||||||||||||||
| 29.03.2023, 19:39 | ||||||||||||||||||
0
|
||||||||||||||||||
|
1 / 1 / 0
Регистрация: 04.05.2021
Сообщений: 156
|
|||||||||||
| 29.03.2023, 21:53 [ТС] | |||||||||||
|
Элд Хасп
Не совсем поняла зачем нужно добавление (Устранён баг с добавлением в пустую базу) в App.xaml App.xaml.cs
Добавлено через 13 минут Я бы не хотела чтобы у пользователя была возможность удалять бд
0
|
|||||||||||
|
Модератор
|
||
| 29.03.2023, 22:03 | ||
|
Чтобы не "руками" удалять для проверки пустой базы. После отладки - удалите это. Добавлено через 9 минут VeronikaKlever, если интересно куда дальше развивать приложение - уберите все MessageBox из VM. Замените на внедрённый диалог.
1
|
||
|
1 / 1 / 0
Регистрация: 04.05.2021
Сообщений: 156
|
||||||
| 29.03.2023, 22:40 [ТС] | ||||||
|
Элд Хасп
Если выделить элемент и нажать кнопку добавить, то сработает catch Если после этого нажать кнопку "Сохранить изменения", то выдаст ошибку, что он ушел за длину так как индекс будет равняться тому самому удаленному элементу Решила это запоминанием Id в локальной переменной, чтобы потом присвоить его BestiaryCreature
1
|
||||||
|
Модератор
|
|||
| 29.03.2023, 23:23 | |||
|
Добавлено через 18 минут
0
|
|||
|
|
||
| 30.03.2023, 08:22 | ||
|
0
|
||
|
Модератор
|
|||
| 30.03.2023, 10:06 | |||
|
Для него требуется явный переход в режим добавления как я писал здесь: Если Id=0, то это добавление. В вашем же случае он никогда не 0. И его необходимо сбрасывать "руками", если вызвана команда добавления. Добавлено через 3 минуты VeronikaKlever, кстати, в команде редактирования тоже может быть исключение, если будет имя как уже у другого существующего. Поэтому там тоже нужна обёртка try-catch и откат в случае не удачи сохранения. Добавлено через 2 минуты В удалении.... в данном случае реализации, вроде, нет причин для исключений. Но в общем случае тоже может быть. Вообще, лучше всегда сохранение оборачивать в try-catch или обрабатывать исключения в App. Чтобы не происходило падение приложения без необъяснимых причин.
0
|
|||
|
|
|
| 30.03.2023, 10:45 | |
|
0
|
|
|
Модератор
|
||
| 30.03.2023, 17:37 | ||
|
Если есть такой Id, то обновление. Нет - добавление. Это, в принципе, и проверять не нужно. Update и так это делает автоматически, насколько знаю. Суть в том, что в сущности нужно ДО ВЫЗОВА метода сбросить Id. А у ТС он всегда равен Id выбранной сущности. Поэтому ваш метод будет всегда обновлять. а не добавлять.
0
|
||
|
1 / 1 / 0
Регистрация: 04.05.2021
Сообщений: 156
|
||||||||||||
| 30.03.2023, 20:52 [ТС] | ||||||||||||
в App если писать
0
|
||||||||||||
|
Модератор
|
||||||||||||
| 30.03.2023, 21:52 | ||||||||||||
|
Нужно убирать обработку в командах:
0
|
||||||||||||
|
|
||
| 31.03.2023, 08:22 | ||
|
0
|
||
|
Модератор
|
||
| 31.03.2023, 10:03 | ||
|
Вы сами посмотрите по своему коду где вы используете этот метод - у вас эти режимы разделены в GUI. И это правильно. Это типично, интуитивно понятно и лучше сделать так. Я об этом уже писал выше, но ТС оставил по своему. Не хочет выделять отдельно режим добавления. Добавлено через 2 минуты Поэтому, приходится создавать разные команды: - сохранение изменений текущего выбранного BestiaryCreature (Update); - создание нового BestiaryCreature по изменённым данным текущего выбранного (Clone + Add). Добавлено через 4 минуты В логике создаётся лишний клон выбранного элемента, но я не нашёл как можно обновлять свойства сущности, которая не отслеживается в Контексте БД. Можно "руками" копировать каждое свойство, но как-то мне это, в данном случае, совсем не нравится. Возможно в EF есть способ это делать и я просто о нём не знаю.
0
|
||
|
|
||
| 31.03.2023, 10:10 | ||
|
Я сам так накололся пару раз, когда только начинал... Тоже сидел городил фиг пойми чего... Пришлось всё потом переделывать, хорошо пара окон всего было.
0
|
||
|
Модератор
|
|||
| 31.03.2023, 10:22 | |||
|
Это нужно делать либо "руками", либо каким-то маппером. Возможно в EF есть способ обновления не отслеживаемой (No Traking) сущности. Если есть, то поможет улучшить имеющееся решение ТС. Но я такого способа не знаю. Andrey-MSK, вы пишите за неправильную АРХИТЕКТУРУ. Я с вами согласен. Что по нормальному лучше переделать. Но в данном случае БД состоит из всего ОДНОЙ таблицы. Нет никакой БЛ. И нужно максимально упрощённое решение. А разделение слоёв, в данном случае, это точно не упрощение. Добавлено через 1 минуту Это нужно делать либо "руками", либо каким-то маппером. Возможно в EF есть способ обновления (ReLoad) не отслеживаемой (No Traking) сущности. Если есть, то поможет улучшить имеющееся решение ТС. Но я такого способа не знаю. Andrey-MSK, вы пишите за неправильную АРХИТЕКТУРУ. Я с вами согласен. Что по нормальному лучше переделать. Но в данном случае БД состоит из всего ОДНОЙ таблицы. Нет никакой БЛ. И нужно максимально упрощённое решение. А разделение слоёв, в данном случае, это точно не упрощение.
0
|
|||
|
|
||
| 31.03.2023, 10:37 | ||
0
|
||
| 31.03.2023, 10:37 | |
|
Идеи для создания валидации кода в команде, сохранения стандартов Отобразить текст в Textbox из другого TextBox в разных кодировках без сохранения в файл После нажатия кнопки "остановить" не получается обнулить значения Visual Studio Code Есть ли поддержка сохранения файла в 2х местах или запуска батника после сохранения TextBox color - Как окрасить на форме TextBox от разного значения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|