Окружение
Visual Studio 2012EF 5
MS SQL Server 2008
При добавлении записи в таблицу возникает ошибка
Инструкции по обновлению, вставке или удалению из хранилища затронули непредвиденное число строк ({0}). Сущности могли быть изменены или удалены с момента их загрузки. Обновите записи диспетчера ObjectStateManagerКак искал
В русскоязычном сообществе почти ничего не нашелнашел занятный сайт - переводчик ошибок
http://finderr.net/clr/ru/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D0%B8-%D0%BF%D0%BE-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8E-%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B5-%D0%B8%D0%BB%D0%B8-%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D1%8E-%D0%B8%D0%B7-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D0%BB%D0%B8%D1%89%D0%B0-%D0%B7%D0%B0%D1%82%D1%80%D0%BE%D0%BD%D1%83%D0%BB%D0%B8-%D0%BD%D0%B5%D0%BF%D1%80%D0%B5%D0%B4%D0%B2%D0%B8%D0%B4%D0%B5-/17429932
Далее искал уже по ошибке
Store update, insert, or delete statement affected an unexpected number of rows ({0}). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.
Свел возможные варианты решения
1. Вы не указываете значение первичного ключа при записи.Проверьте. если дейстительно первичный ключ нулл - задайте его явно (часто ребята забывают возвращать его из формы, или при database сценарии указывают это поле как пропускаемое)
если у вас этот вариант - смотрите ссылки
http://rpelepei.blogspot.com/2010/05/0.html
или
http://stackoverflow.com/questions/1836173/entity-framework-store-update-insert-or-delete-statement-affected-an-unexpec
2. Ошибки многопользовательской работы
http://stackoverflow.com/questions/1836173/entity-framework-store-update-insert-or-delete-statement-affected-an-unexpec
3. Побочные эффекты триггеров
http://stackoverflow.com/questions/6819813/solution-for-store-update-insert-or-delete-statement-affected-an-unexpected-n
http://stackoverflow.com/questions/5820992/error-when-inserting-into-table-having-instead-of-trigger-from-entity-data-frame
http://www.britishdeveloper.co.uk/2010/06/entity-framework-optimisticconcurrencye.html
У меня был третий вариант. опишу поподробнее:
Сразу оговорюсь, что игра с SET NOCOUNT ON/OFF мне не помогла.
Также не помог фиктивный селект в конце триггера.
Таблица заказов ORDER
на ней висит триггер на Insert.
Триггер в свою очередь вызывал хранимую процедуру (синхронизация с таблицей пользователей) в которой делалась выборка из заказа (ORDER) которая не возвращала записей.
Оказалось этот селект и мешал Entity Framework'у нормально работать.
Что сделал: я переделал логику так чтобы не было пустых селектов из исходной таблицы
Спасибо!
ОтветитьУдалитьУ меня как раз третий вариант!
Пришлось поменять триггер с Before Insert на After Insert
не могу зайти на сайт смк еду кз
ОтветитьУдалитьзашли?
УдалитьИ я не могу войти на сайт СМК еду
ОтветитьУдалитьзашли?
Удалитьвот и я не могу на сайт смк зайти может это у них проблемы а не у нас
ОтветитьУдалитьНе могу зайти на сайт smk.edu.kz
ОтветитьУдалитьИ я не могу войти на сайт СМК еду
ОтветитьУдалитьНе могу войти на сайт СМК
ОтветитьУдалитьНе могу зайти на сайт СМК
ОтветитьУдалитьтоже не могу зайти на СМК
ОтветитьУдалитья тоже не могу зайти на сайт СМК еду кз
ОтветитьУдалитьне могу зайти на сайт смк
ОтветитьУдалитьне могу войти кто поможет
ОтветитьУдалитья тоже не могу зайти на этот сайт
ОтветитьУдалитьНе получается зайти на сайт СМК. Выходит вот это-> Инструкции по обновлению, вставке или удалению из хранилища затронули непредвиденное число строк (0). Сущности могли быть изменены или удалены с момента их загрузки. Обновите записи диспетчера ObjectStateManager.
ОтветитьУдалитья тоже не могу зайти на сайт смк
ОтветитьУдалить