|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 36
|
|
DB контекст не формирует запрос на обновление первичного ключа17.01.2025, 22:42. Показов 3588. Ответов 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
Сообщений: 36
|
||
| 20.01.2025, 08:51 [ТС] | ||
|
0
|
||
|
|
||
| 20.01.2025, 09:09 | ||
|
Переведите эту запись на EF - Основные операции с данными. CRUD.
0
|
||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 36
|
||
| 20.01.2025, 09:17 [ТС] | ||
|
0
|
||
|
|
|||||||
| 20.01.2025, 09:22 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 36
|
||
| 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
Сообщений: 36
|
|||
| 20.01.2025, 10:04 [ТС] | |||
|
Добавлено через 7 минут Я вам дам другой пример. Тариф ЖКХ и его история, когда не может быть два изменения ставки за один день. Но при этом сама ставка могла начаться с одного дня, а потом внезапно оказалось что она должна начинаться с другого дня. Конечно можно сделать искусственный ключ. Но это дополнительное поле раз и дополнительный индекс два. Зачем?
0
|
|||
|
|
|||||||||
| 20.01.2025, 10:07 | |||||||||
Добавлено через 57 секунд
0
|
|||||||||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 36
|
|||
| 20.01.2025, 10:13 [ТС] | |||
|
Добавлено через 3 минуты Или IDENTITY OFF отключает первичный ключ? И как часто Вы даете возможность пользователю сделать IDENTITY OFF?
0
|
|||
|
|
|||||||||
| 20.01.2025, 10:22 | |||||||||
Добавлено через 2 минуты
1
|
|||||||||
|
1721 / 1487 / 165
Регистрация: 25.07.2015
Сообщений: 2,584
|
|||
| 20.01.2025, 10:22 | |||
|
0
|
|||
|
|
||
| 20.01.2025, 10:25 | ||
|
1
|
||
|
14103 / 9320 / 1349
Регистрация: 21.01.2016
Сообщений: 35,015
|
|
| 20.01.2025, 10:31 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 36
|
|||
| 20.01.2025, 10:33 [ТС] | |||
|
Добавлено через 2 минуты При это чать составного primary key относящаяся к родителю не редактируется.
0
|
|||
|
|
|||
| 20.01.2025, 10:45 | |||
![]() Добавлено через 1 минуту
0
|
|||
|
1721 / 1487 / 165
Регистрация: 25.07.2015
Сообщений: 2,584
|
||
| 20.01.2025, 10:50 | ||
|
она наверняка участвует в какой-то логике Идея целостности БД предполагает 1 ключ- 1 запись, для этого собственно и есть первичные ключи, как гарантия соблюдения вышесказанной концепции. Когда вы отдаете заполнение этого ключа на откуп оператору/пользователю, то всегда существует вероятность ошибки со всеми вытекающими. И совершенно не обязательно ключ может быть продублирован , вероятность этого как раз практически нулевая, учитывая уникальность ключевого поля, а вот ошибка ввода , например случайная смена раскладки клавиатуры, вполне может быть.
1
|
||
|
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 36
|
|
| 20.01.2025, 11:11 [ТС] | |
|
0
|
|
|
1721 / 1487 / 165
Регистрация: 25.07.2015
Сообщений: 2,584
|
||
| 20.01.2025, 11:12 | ||
|
Соглашусь с Andrey-MSK - это бомба замедленного действия. Для небольших проектов наверное удобно , но эти процессы (каскадные удаления и обновления) должны быть контролируемы разработчиком. Вот представьте : есть некая компания , работающая с рядом поставщиков. В один прекрасный момент кто-то из поставщиков прекращает сотрудничество и сливается, а один сердобольный манагер решает удалить его запись из базы, дабы глаза не мозолил. Только он не подумал, да и надо ли ему, что по поставщику есть какая-то история- приходы/расходы/финансовые движения и т.д. Догадываетесь , что произойдет при установленном дефолтно каскадном удалении и каким "добрым словом" разраба вспомнит бухгалтерия, когда грохнется вся документальная история в базе, привязанная к удаленной записи ?? ))
1
|
||
| 20.01.2025, 11:12 | |
|
Помогаю со студенческими работами здесь
20
Запрос на создание таблицы. Установка первичного ключа. Как выглядит SQL запрос на получение первичного ключа с таблицы Тип сущности требует определения первичного ключа, но ключа в бд нет Получение первичного ключа Автоинкремент первичного ключа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|