|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 37
|
|
DB контекст не формирует запрос на обновление первичного ключа17.01.2025, 22:42. Показов 3811. Ответов 41
Метки нет (Все метки)
При попытке сохранения изменений значения первичного ключа ошибка. (EF NET 8)
The property 'ТАБЛИЦА.ПОЛЕ_В_ПЕРВИЧНОМ_КЛЮЧЕ' is part of a key and so cannot be modified or marked as modified. To change the principal of an existing entity with an identifying foreign key, first delete the dependent and invoke 'SaveChanges', and then associate the dependent with the new principal. Например, есть таблица тарифов (ключ - id) и история ставок тарифов (ключ id, dstart) . У истории ставок нет дочерних таблиц. При редактировании в таблице истории ставок существующей записи поля dstart (часть первичного ключа) и сохранении в SaveChanges выходит выше указанное предложение. Как то глупо получается. Надо удалить запись и ввести новую с новой датой. Образно говоря оператор внес информацию, сохранил ее, потом увидел, что ошибся в дате, пытается изменить дату, но ему предлагается удалить все что он ввел и внести информацию заново. Кто что делает в таком случае?
0
|
|
| 17.01.2025, 22:42 | |
|
Ответы с готовыми решениями:
41
Обновление таблицы с сохранением первичного ключа Обновление первичного ключа через хранимую процедуру Обновление первичного ключа после выполнения запроса |
|
|
|||||||
| 20.01.2025, 08:43 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 37
|
||
| 20.01.2025, 08:51 [ТС] | ||
|
0
|
||
|
|
||
| 20.01.2025, 09:09 | ||
|
Переведите эту запись на EF - Основные операции с данными. CRUD.
0
|
||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 37
|
||
| 20.01.2025, 09:17 [ТС] | ||
|
0
|
||
|
|
|||||||
| 20.01.2025, 09:22 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 37
|
||
| 20.01.2025, 09:29 [ТС] | ||
|
На ADO.NET с этим проблем вообще ноль. Но вот EF NET подавай строго неизменяемый primary key. И это проблема.
0
|
||
|
|
||||||||
| 20.01.2025, 09:51 | ||||||||
|
Добавлено через 7 минут
Кто мешал использовать обычный ID таблицы и связь 1-M?
0
|
||||||||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 37
|
|||
| 20.01.2025, 10:04 [ТС] | |||
|
Добавлено через 7 минут Я вам дам другой пример. Тариф ЖКХ и его история, когда не может быть два изменения ставки за один день. Но при этом сама ставка могла начаться с одного дня, а потом внезапно оказалось что она должна начинаться с другого дня. Конечно можно сделать искусственный ключ. Но это дополнительное поле раз и дополнительный индекс два. Зачем?
0
|
|||
|
|
|||||||||
| 20.01.2025, 10:07 | |||||||||
Добавлено через 57 секунд
0
|
|||||||||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 37
|
|||
| 20.01.2025, 10:13 [ТС] | |||
|
Добавлено через 3 минуты Или IDENTITY OFF отключает первичный ключ? И как часто Вы даете возможность пользователю сделать IDENTITY OFF?
0
|
|||
|
|
|||||||||
| 20.01.2025, 10:22 | |||||||||
Добавлено через 2 минуты
1
|
|||||||||
|
1747 / 1676 / 167
Регистрация: 25.07.2015
Сообщений: 2,744
|
|||
| 20.01.2025, 10:22 | |||
|
0
|
|||
|
|
||
| 20.01.2025, 10:25 | ||
|
1
|
||
|
14320 / 9409 / 1356
Регистрация: 21.01.2016
Сообщений: 35,474
|
|
| 20.01.2025, 10:31 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 37
|
|||
| 20.01.2025, 10:33 [ТС] | |||
|
Добавлено через 2 минуты При это чать составного primary key относящаяся к родителю не редактируется.
0
|
|||
|
|
|||
| 20.01.2025, 10:45 | |||
![]() Добавлено через 1 минуту
0
|
|||
|
1747 / 1676 / 167
Регистрация: 25.07.2015
Сообщений: 2,744
|
||
| 20.01.2025, 10:50 | ||
|
она наверняка участвует в какой-то логике Идея целостности БД предполагает 1 ключ- 1 запись, для этого собственно и есть первичные ключи, как гарантия соблюдения вышесказанной концепции. Когда вы отдаете заполнение этого ключа на откуп оператору/пользователю, то всегда существует вероятность ошибки со всеми вытекающими. И совершенно не обязательно ключ может быть продублирован , вероятность этого как раз практически нулевая, учитывая уникальность ключевого поля, а вот ошибка ввода , например случайная смена раскладки клавиатуры, вполне может быть.
1
|
||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 37
|
|
| 20.01.2025, 11:11 [ТС] | |
|
0
|
|
|
1747 / 1676 / 167
Регистрация: 25.07.2015
Сообщений: 2,744
|
||
| 20.01.2025, 11:12 | ||
|
Соглашусь с Andrey-MSK - это бомба замедленного действия. Для небольших проектов наверное удобно , но эти процессы (каскадные удаления и обновления) должны быть контролируемы разработчиком. Вот представьте : есть некая компания , работающая с рядом поставщиков. В один прекрасный момент кто-то из поставщиков прекращает сотрудничество и сливается, а один сердобольный манагер решает удалить его запись из базы, дабы глаза не мозолил. Только он не подумал, да и надо ли ему, что по поставщику есть какая-то история- приходы/расходы/финансовые движения и т.д. Догадываетесь , что произойдет при установленном дефолтно каскадном удалении и каким "добрым словом" разраба вспомнит бухгалтерия, когда грохнется вся документальная история в базе, привязанная к удаленной записи ?? ))
1
|
||
| 20.01.2025, 11:12 | |
|
Помогаю со студенческими работами здесь
20
Запрос на создание таблицы. Установка первичного ключа. Как выглядит SQL запрос на получение первичного ключа с таблицы Тип сущности требует определения первичного ключа, но ключа в бд нет Получение первичного ключа Автоинкремент первичного ключа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|