|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 49
|
||||||||||||||||||||||||||
Исключение при изменении (редактировании данных) таблицы в БД08.01.2017, 19:42. Показов 3805. Ответов 19
Метки нет (Все метки)
в бд 3 таблицы, таблицы новостей сущности у них идентичные
один из них:
Дополнительные сведения: Не удалось присоединить сущность типа "WebApplication6.Models.1News", поскольку другая сущность этого же типа уже имеет такое же значение первичного ключа. Такое возможно при использовании метода "Attach" или задании сущности состояния "Unchanged" или "Modified", если какие-либо сущности в графе имеют конфликтующие значения ключей. Такое возможно из-за того, что некоторые сущности являются новыми и пока еще не получили значения ключей, сформированные базой данных. В этом случае используйте метод "Add" или состояние сущности "Added" для отслеживания графа, а затем задайте сущностям, которые не являются новыми, состояние "Unchanged" или "Modified". когда была одна таблица всё работало нормально потом как создал еще 2 одинаковых выходит такая вот проблема Добавлено через 43 минуты view
view Кликните здесь для просмотра всего текста
Добавлено через 39 минут @using (Html.BeginForm("Edit1", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) так правильнее
0
|
||||||||||||||||||||||||||
| 08.01.2017, 19:42 | |
|
Ответы с готовыми решениями:
19
Получение данных из таблицы при редактировании Исключение при редактировании ячейки
|
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
|
| 09.01.2017, 10:54 | |
|
Первичный ключ атрибут забыл указать , ну и на уровне БД он должен генерироваться уникальным.
1
|
|
|
14087 / 9305 / 1348
Регистрация: 21.01.2016
Сообщений: 34,946
|
|
| 09.01.2017, 11:37 | |
|
А ещё желательно сделать
db.1Newses.Attach(pic) ибо имеет место disconnected scenario.
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 49
|
|||||||||||||||||||||||||||||||||||||||||
| 09.01.2017, 15:07 [ТС] | |||||||||||||||||||||||||||||||||||||||||
|
Usaga, остальные две таблицы обновляются без проблем а первая всё еще ругается не понимаю почему
та что не меняется Кликните здесь для просмотра всего текста
та что меняется Кликните здесь для просмотра всего текста
ошибка выходит в строке
public ActionResult Edit и public ActionResult EditWorld идентичны атрибуты разные и всё
0
|
|||||||||||||||||||||||||||||||||||||||||
|
14087 / 9305 / 1348
Регистрация: 21.01.2016
Сообщений: 34,946
|
|
| 09.01.2017, 15:08 | |
|
MadEagle, тогда загрузи сущность по полученному ID, обнови её свойства и запиши назад в БД.
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 49
|
||||||
| 09.01.2017, 15:56 [ТС] | ||||||
|
, Usaga, по-моему я так и делаю ? Нет?
0
|
||||||
|
14087 / 9305 / 1348
Регистрация: 21.01.2016
Сообщений: 34,946
|
|
| 09.01.2017, 17:25 | |
|
MadEagle, нет, не так. В методе обрабатывающем POST-запрос достань из БД нужную сущность, обнови её с помощью полученной модели представления и запиши назад в БД. Это самый верный способ, раз уж у тебя через Attach не пойми почему не работает.
Кстати, контекст у тебя где и как создаётся? Не статичный ли случаем?
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 49
|
||||||
| 09.01.2017, 17:39 [ТС] | ||||||
|
Usaga,вот так
0
|
||||||
|
14087 / 9305 / 1348
Регистрация: 21.01.2016
Сообщений: 34,946
|
|
| 09.01.2017, 17:42 | |
|
MadEagle, т.е. поле контроллера
db содержит ссылку получаемую в консрукторе вызовом метода Create() контекста?
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 49
|
|
| 09.01.2017, 17:49 [ТС] | |
|
Usaga, да , но дело в том что два других метода работают нормально . а вот с этим проблема не пойму почему .их сущности одинаковы отличаются первичными ключами
0
|
|
|
14087 / 9305 / 1348
Регистрация: 21.01.2016
Сообщений: 34,946
|
|
| 09.01.2017, 17:53 | |
|
MadEagle, что значит отличаются первичными ключами? Значит это разные сущности. Что-то твои ответы ясности не прибавляют.
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 49
|
||||||||||||||||
| 09.01.2017, 17:59 [ТС] | ||||||||||||||||
|
Usaga,
Первый
0
|
||||||||||||||||
|
14087 / 9305 / 1348
Регистрация: 21.01.2016
Сообщений: 34,946
|
|
| 09.01.2017, 18:02 | |
|
MadEagle, и какая ошибка возникает в данном случае?
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 49
|
|
| 09.01.2017, 18:11 [ТС] | |
|
Usaga
Ошибка только с первой сущностью когда доходит до attach() выводит ошибку : Кликните здесь для просмотра всего текста
Дополнительные сведения: Не удалось присоединить сущность типа "WebApplication6.Models.Picture", поскольку другая сущность этого же типа уже имеет такое же значение первичного ключа. Такое возможно при использовании метода "Attach" или задании сущности состояния "Unchanged" или "Modified", если какие-либо сущности в графе имеют конфликтующие значения ключей. Такое возможно из-за того, что некоторые сущности являются новыми и пока еще не получили значения ключей, сформированные базой данных. В этом случае используйте метод "Add" или состояние сущности "Added" для отслеживания графа, а затем задайте сущностям, которые не являются новыми, состояние "Unchanged" или "Modified".
0
|
|
|
14087 / 9305 / 1348
Регистрация: 21.01.2016
Сообщений: 34,946
|
|
| 09.01.2017, 18:20 | |
|
MadEagle, у меня подозрение, что это просиходит потому, что у тебя контекст на все запросы один и он "помнит" сущность полученную через
Find(). Как инициализируется контекст в контроллере?
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 49
|
|||||||||||
| 09.01.2017, 18:41 [ТС] | |||||||||||
|
Usaga,
В контроллере
0
|
|||||||||||
|
180 / 58 / 7
Регистрация: 28.08.2012
Сообщений: 363
|
|
| 09.01.2017, 20:59 | |
|
MadEagle, не мучайтесь, а просто в контроллере получайте по id старую сущность, присваивайте ей новые значения и сохраняйте изменения
1
|
|
|
0 / 0 / 0
Регистрация: 24.10.2016
Сообщений: 49
|
|
| 09.01.2017, 23:05 [ТС] | |
|
quizzer, дело в том что она не обновлятется (не сохраняется ) выдаёт исключение
0
|
|
|
14087 / 9305 / 1348
Регистрация: 21.01.2016
Сообщений: 34,946
|
||||||||||||
| 10.01.2017, 06:54 | ||||||||||||
Сообщение было отмечено MadEagle как решение
Решениеusing.Вариант №1 (нежелательный): модель представления содержит все свойства сущности: Кликните здесь для просмотра всего текста
Вариант №2: модель представления содержит только ID и свойства, которые нужно обновить Кликните здесь для просмотра всего текста
Хочу заметить, что нет никакой необходимости использовать сущность в роли модели представления. Если сущность полностью подходит на эту роль, то хорошо. Но если в представление нужно отправить только часть данных из сущности, или в видоизменённом виде, то можно (и нужно) завести отдельный класс для этой цели, в который (и из которого) переносить данные из сущности (и обратно).
1
|
||||||||||||
| 10.01.2017, 06:54 | |
|
Помогаю со студенческими работами здесь
20
При изменении в БД срабатывает исключение Вылетает исключение при изменении видимости формы Чудесное исключение при изменении названия кнопки InvalidOperationException при редактировании дочерней таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|