olegall 0 / 0 / 0 Регистрация: 27.01.2014 Сообщений: 116 |
||||
1 |
||||
18.10.2016, 15:47. Показов 22941. Ответов 6 Метки нет (Все метки)
Пытаюсь сохранить объект в БД:
получаю исключение: An exception of type ‘System.Data.Entity.Infrastructure.DbUpdateExcepti on’ occurred in EntityFramework.dll but was not handled in user code на методе SaveChanges Additional information: An error occurred while updating the entries. See the inner exception for details. все поля модели и таблицы БД соответствуют друг другу (типы, их число и названия), делал повторно миграцию — всё чисто.
__________________
0 |
783 / 615 / 272 Регистрация: 04.08.2015 Сообщений: 1,707 |
|
18.10.2016, 17:32 |
2 |
dbContext.Entry(entity).State = System.Data.Entity.EntityState.Added; Какой смысл одному свойству дважды присваивать значение? Останется то, что во 2-й строке.
0 |
0 / 0 / 0 Регистрация: 27.01.2014 Сообщений: 116 |
|
18.10.2016, 18:29 [ТС] |
3 |
строки 6,7,8 я поочерёдно комментировал в разных комбинациях
0 |
91 / 90 / 37 Регистрация: 05.08.2011 Сообщений: 428 |
|
18.10.2016, 19:05 |
4 |
olegall, комментируйте разом. 6,7,8 строки. Где-то до этого в коде отключаете авто детект изменений?
See the inner exception for details. Вы смотрели? Что там написано?
0 |
olegall 0 / 0 / 0 Регистрация: 27.01.2014 Сообщений: 116 |
||||
19.10.2016, 09:27 [ТС] |
5 |
|||
Где-то до этого в коде отключаете авто детект изменений? — это не понял. я ничего подобного вроде не делал Inner exception: Invalid object name ‘dbo.EntityModels’. — видимо означает попытка обращения к таблице в БД EntityModels. Но такой таблицы нет (есть Entities). Причём я помню что такая таблица как-то появлялась, и я её удалял. Возможно эта инфо сохранилась в кеше или ещё где-то. Поиск в проекте по строке «dbo.EntityModels» ничего не дал Добавлено через 6 минут
Добавлено через 16 минут
0 |
lvlkoo .NET C#,ASP.NET MVC 592 / 503 / 225 Регистрация: 16.10.2010 Сообщений: 1,902 |
||||
19.10.2016, 17:07 |
6 |
|||
olegall, название таблицы определяется не названием свойства в контексте, а названием сущности. То есть если у вас сущность называется EntityModels, то и таблица будет называться EntityModels. Название табицы можно указать явно, с помощью атрибута Table(name);
А лучше просто переименуйте сущность EntityModels в Entities
0 |
olegall 0 / 0 / 0 Регистрация: 27.01.2014 Сообщений: 116 |
||||
20.10.2016, 11:03 [ТС] |
7 |
|||
Сделал так
при выполнении миграций (команда Update-Database) возникает ошибка Пробовал переименовать таблицу Entities, но новая таблица не создаётся. Не знаю что делать
0 |
Turn the Pluralization On
. The problem is that you model object are using singular name (Pupil
) convention, while in your database you are using pluralized names Pupils
with s
.
UPDATE
This post shows how can you turn it on or off.
Some relevant excerpt of that post:
To turn pluralization on and off
-
On the Tools menu, click Options.
-
In the Options dialog box, expand Database Tools.
Note: Select Show all settings if the Database Tools node is not visible. -
Click O/R Designer.
-
Set Pluralization of names to Enabled = False to set the O/R Designer so that it does not change class names.
-
Set Pluralization of names to Enabled = True to apply pluralization rules to the class names of objects added to the O/R Designer.
UPDATE 2
But note that, you should avoid pluralized names.
You can read here how to do it (I’ll cite it here, just in case the link gets broken).
(…) When you work with Entity Framework Code First approach, you are creating your database tables from your model classes. Usually Entity Framework will create tables with Pluralized names. that means if you have a model class called PhoneNumber, Entity framework will create a table for this class called “PhoneNumbers“. If you wish to avoid pluralized name and wants singular name like Customer , you can do it like this
In your DBContext class, Override the “OnModelCreating” method like this (…)
(…) Having this Method Overriding will avoid creating tables with pluralized names. Now it will create a Table called “PhoneNumber” , Not “PhoneNumbers” (…)
- Remove From My Forums
-
Question
-
Hello All,
Am having this error when calling SaveChanges() : An error occurred while updating the entries. See the inner exception
for details. when use sql server profiler to inspect the query I found that Entity framework is trying to insert a value in column set as Identity in the concerned table.How can prevent Entity framework from inserting in that field?
Thanks
Answers
-
Hi,
Here you have a link explaining this attribute:
http://www.devart.com/blogs/dotconnect/?p=5444
The explanation was for Oracle providers, but the idea is the same for SQL Server.
Basically, with this attribute you say to EF that this field must set its values from its corresponding database identity value.
Best regards,
JA Reyes.
Please remember to Vote & «Mark As Answer» if this post is helpful to you.
Por favor, recuerda Votar y «Marcar como respuesta» si la solución de esta pregunta te ha sido útil.-
Marked as answer by
Monday, September 26, 2011 6:12 AM
-
Marked as answer by
- Remove From My Forums
-
Question
-
Hello All,
Am having this error when calling SaveChanges() : An error occurred while updating the entries. See the inner exception
for details. when use sql server profiler to inspect the query I found that Entity framework is trying to insert a value in column set as Identity in the concerned table.How can prevent Entity framework from inserting in that field?
Thanks
Answers
-
Hi,
Here you have a link explaining this attribute:
http://www.devart.com/blogs/dotconnect/?p=5444
The explanation was for Oracle providers, but the idea is the same for SQL Server.
Basically, with this attribute you say to EF that this field must set its values from its corresponding database identity value.
Best regards,
JA Reyes.
Please remember to Vote & «Mark As Answer» if this post is helpful to you.
Por favor, recuerda Votar y «Marcar como respuesta» si la solución de esta pregunta te ha sido útil.-
Marked as answer by
Monday, September 26, 2011 6:12 AM
-
Marked as answer by
Содержание
- Entity Framework — «Произошла ошибка при обновлении записей. Подробности см. Во внутреннем исключении» [дубликат]
- Обновление БД Entity Framework
- 2 ответа
- Dadaviz
- Ошибка An error occurred while updating — что делать
- Причины ошибки при загрузке обновлений
- Что делать при этой ошибке?
- Возобновляем Steam из сохранений
- An error occurred while updating the entries see the inner перевод
- Лучший отвечающий
- Вопрос
- Ответы
- Все ответы
Entity Framework — «Произошла ошибка при обновлении записей. Подробности см. Во внутреннем исключении» [дубликат]
У меня проблема, я только начал изучать EF Model First и какое-то время остаюсь в одной точке. У меня такая ошибка:
«Произошла ошибка при обновлении записей. Подробнее см. Внутреннее исключение»
Я создал простую модель на диаграмме, сгенерировал базу данных и написал простой код на C #, чтобы добавить только одну строку в таблицу, но ошибка появляется все время.
Я публикую снимок экрана с Diagram / Generated DLL / Simple Main / И выбросом ошибок
Включите Pluralization On . Проблема заключается в том, что вы модель объекта используют сингулярное имя ( Pupil ) соглашение, в то время как в вашей базе данных вы используете множественные имена Pupils с s .
ОБНОВИТЬ
В этом посте показано, как его можно включить или выключить. Некоторые важные выдержки из этого поста:
Включение и выключение множественного числа
В меню «Инструменты» выберите «Параметры».
В диалоговом окне Параметры разверните Инструменты для баз данных. Примечание. Выберите «Показать все параметры», если узел «Инструменты для баз данных» не отображается.
Щелкните Конструктор O / R.
Установите для параметра Pluralization of names значение Enabled = False, чтобы настроить конструктор O / R таким образом, чтобы он не изменял имена классов.
Установите для плюрализации имен значение Enabled = True, чтобы применить правила множественного числа к именам классов объектов, добавленных в конструктор O / R.
ОБНОВЛЕНИЕ 2
Но учтите, что вам следует избегать имен во множественном числе. Вы можете прочитать здесь, как это сделать (я процитирую это здесь, на случай, если ссылка сломается).
(. ) Когда вы работаете с подходом Entity Framework Code First, вы создаете таблицы базы данных из классов модели. Обычно Entity Framework создает таблицы с именами в множественном числе. это означает, что если у вас есть класс модели с именем PhoneNumber, инфраструктура Entity создаст таблицу для этого класса с именем «PhoneNumbers». Если вы хотите избежать имени во множественном числе и хотите использовать имя в единственном числе, например «Клиент», вы можете сделать это следующим образом. В своем классе DBContext переопределите метод «OnModelCreating» следующим образом (. )
(. ) Переопределение этого метода позволит избежать создания таблиц с именами во множественном числе. Теперь он создаст таблицу под названием «PhoneNumber», а не «PhoneNumbers» (. )
Источник
Обновление БД Entity Framework
Я пытаюсь обновить свою БД, чтобы добавить в нее новые заказы. Каждый заказ связан с ProductionLine и содержит его идентификатор, а затем ProductionLine. Я считаю, что это происходит, это то, что он пытается добавить в таблицу ProductionLine, но он должен только добавлять таблицу заказов. Я не уверен, как заставить его редактировать только таблицу заказов.
Я не установил неизменным свой список ProductionLine, который запрашивался в другом операторе использования. Установка его в неизменном состоянии позволяет EF знать, что ему не нужно обновлять его, что означает, что он не пытается дублировать идентификаторы.
2 ответа
Entity Framework вставляет все записи с добавленным состоянием. Таким образом, ваша сущность тоже имеет такое же состояние, что и из-за того, что она вставлена.
Вы можете установить его состояние, используя context.Entry (prodLines.Where (x => x.Id == prodLineID) .FirstOrDefault ()). State = EntityState.Unchanged;
Без изменений: сущность отслеживается контекстом и существует в базе данных, а значения ее свойств не изменились по сравнению со значениями в базе данных.
Вы можете увидеть больше информации об этом поведении в Состояния сущностей и SaveChanges
Вы уверены, что правильно настраиваете свои первичные ключи?
При добавлении public int OrderId < get; set; >к заказу
public string ProductionLineId < get; set; >на производственную линию
Я могу вставить производственную линию и ссылаться на нее из нескольких заказов.
Вы используете prodLines.Where(x => x.Id == prodLineID) , который использует свойство Id , которое не отображается в вашем классе Model.
Похоже, у вас есть свойство Id в вашем BaseEntity?
Источник
Dadaviz
Ваш IT помощник
Ошибка An error occurred while updating — что делать
Ошибка загрузки обновлений «An error occurred while updating» в Steam (для Dota 2, Counter Strike и других игр) встречается не так уж редко. Ее появление напрямую связывают с официальными обновлениями в Стим. Сами апдейты призваны не только вносить изменения в интерфейс, но и оптимизировать большое количество внутренних процессов. Игрокам данные нововведения должны помогать в игровом процессе, но не всегда все проходит гладко.
Произошла ошибка при загрузке обновлений
Причины ошибки при загрузке обновлений
Сам конфликт, как правило, возникает из-за самого клиента на компьютере пользователя. Его установка может выполняться не совсем корректно, что впоследствии мешает обновлениям интегрироваться правильно. К несчастью если файлы прервались на половине распаковки обновлений, то легко исправить ситуацию уже не получится.
Dota 2 и Counter Strike наиболее часто обновляются в приложении Steam. Именно с ними наиболее часто связана ошибка «An error occurred while updating». Проблема появляется при глобально вносимых изменениях, где обновлению подлежат сотни метров архивов. Поэтому мелкие обновления могут устанавливаться вполне себе нормально, не выявляя долгое время конфликтных ситуаций.
Что делать при этой ошибке?
Для начала рекомендуется попробовать несколько действенных советов от пользователей, которые ранее сталкивались с проблемой, и впоследствии им удалось ее решить. Проведите следующие манипуляции:
- Перейдите в корневую папку Стима и найдите там «steamapps», в ней удалите папку «downloading». После перезагрузки пробуйте пройти в папку Steam и оттуда запустить его ярлык от имени администратора;
Удалите папку «downloading» в корне Steam
Этими решениями следует воспользоваться в первую очередь. Если все испробовали, и ничего не помогло, тогда переходите к официальным рекомендациям разработчиков.
Возобновляем Steam из сохранений
Стим наиболее подвержен разным родам ошибок. Поэтому компания Valve всегда предлагает своим пользователям совершать резервные копирования всех файлов утилиты. Если вы один из таких счастливчиков, которые имеют запасную копию, тогда смело пробуйте следующий вариант.
- Выполните полное удаление всех файлов «Стима». Воспользуйтесь сторонними деинсталляторами (CCleaner, например).
- Найдите копию «Стима» и установите на место прежней.
- Зайдя в него в верхнем меню «Steam» вы найдете «Резервное копирование и восстановление игр». Выполните все предложенные действия и укажите путь к сохраненным играм, если их также требуется восстановить.
Восстановление игр из созданных резервных копий
Если на вашем ПК произошла ошибка при обновлении игр (An error occurred while updating), то стоит поочередно применить все вышеописанные методы. Также есть просьба отписаться в комментариях о результатах.
Источник
An error occurred while updating the entries see the inner перевод
Лучший отвечающий
Вопрос
I have a super-simple screen that has one entity an a grid (that used to work). If I try to save, using the built-in button, I get:
«An error occurred while updating the entries. See the inner exception for details.»
It only happens in my published Azure cloud service (not on my local machine). I have not been able to figure out how to get the Inner Exception. I enabled the «Enable Created/Modified Properties» and I think that it might have something to do with that. I unchecked it and the problem still exists.
I have not been able to get tracing to work (I have a separate question going on that issue) so I am trying to figure out how to get the actual error. Any ideas on how to get the actual error would be appreciated.
Ответы
I think the error was thrown by the code in the catch block because the InnerException is null.
Yesterday, I published to Azure using a database name which did not exist. This caused LightSwitch to create a new database which should be perfect. Then I used the Azure migration wizard to copy data from my old database to the new one. I have done this before several times and it has always worked.
I was really expecting this to fix the problem, but it did not.
I finally figured it out: I had some validation code on the Client table. When I commented this out, the error went away. This code used to work, but for some reason it is causing the error.
The really annoying thing is that I could never get a helpful error message and I spent a lot of time trying to figure this out.
Thanks again for your help.
Все ответы
I added a «TestSave» button that executes:
This is supposed to return all inner exceptions, but here is what I get:
Microsoft.LightSwitch.DataServiceOperationException: An error occurred while updating the entries. See the inner exception for details.
at Microsoft.LightSwitch.Framework.Base.ExecutableObject.Execute(Boolean allowJoin)
at Microsoft.LightSwitch.Framework.Base.ExecutableObject.Execute()
at Microsoft.LightSwitch.Details.Framework.Base.MethodInvocation`2.Execute()
at Microsoft.LightSwitch.Framework.Client.ScreenObject`2.Save()
at LightSwitchApplication.ManageClients.SaveTest_Execute()
I still can’t tell what the error is. This is a big problem for me. Anyone have any ideas?
I hope you dont think I am teaching Granny how to suck eggs, but the error message says to see the Inner Exception so why dont you do the following code?
This wil at least allow you to see the inner exception.
If you found this post helpful, please mark it as helpful. If by some chance I answered the question, please mark the question as answered. That way you will help more people like me 🙂
Thanks for the suggestion. I tried your code and I get this:
«An error occurred while running the command.
Error details: Object reference not set to an instance of an object.»
It looks like there is no inner exception. This is driving me crazy.
Im slightly confused. I would have expected the code to have shown a message box that would have said something like:-
An Error has occured
Error Message: An error occured while updating the entries. See inner exception for details
Inner Exception: Object reference not set to an instance of an object
If you did get this then the Inner exception is the «Object reference not set to an instance of an object» line that you have been looking for. I am not sure if it was just a copypaste error but shouldn’t the save be this.Save();
As an aside, when I have had the Object reference error in the past it is when there is a required field missing a value or you are trying to set a value to something that doesnt exist. I would just check the code that does the updates before the save to see that you are getting everything
If you found this post helpful, please mark it as helpful. If by some chance I answered the question, please mark the question as answered. That way you will help more people like me 🙂
I really appreciate your help. There is no code in the screen; it just has one entity and a grid. I did make some manual changes directly to the database, so that’s probably causing the problem, but I just can’t tell exactly what it is.
Here is the code where I am trying to catch the inner exception:
An error occurred while running the command.
Error details: Object reference not set to an instance of an object.
This is coming from LightSwitch and not my message. I think that it means that the ex.InnerException is null.
So, it looks like there is no inner exception. I am starting to rebuild the database. I am not sure what else to do.
Also, from what I have read, Exception.ToString should return info on InnerExceptions if it exists:
«The default implementation of ToString obtains the name of the class that threw the current exception, the message, the result of calling ToString on the inner exception, and the result of calling EnvironmentStackTrace. If any of these members is , its value is not included in the returned string.
If there is no error message or if it is an empty string («»), then no error message is returned. The name of the inner exception and the stack trace are returned only if they are not .»
Источник
- Remove From My Forums
-
Вопрос
-
I have a super-simple screen that has one entity an a grid (that used to work). If I try to save, using the built-in button, I get:
«An error occurred while updating the entries. See the inner exception for details.»
It only happens in my published Azure cloud service (not on my local machine). I have not been able to figure out how to get the Inner Exception. I enabled the «Enable Created/Modified Properties» and I think that it might have something
to do with that. I unchecked it and the problem still exists.I have not been able to get tracing to work (I have a separate question going on that issue) so I am trying to figure out how to get the actual error. Any ideas on how to get the actual error would be appreciated.
Thanks,
Mark
Ответы
-
Otis:
I think the error was thrown by the code in the catch block because the InnerException is null.
Yesterday, I published to Azure using a database name which did not exist. This caused LightSwitch to create a new database which should be perfect. Then I used the Azure migration wizard to copy data from my old database to the new one.
I have done this before several times and it has always worked.I was really expecting this to fix the problem, but it did not.
I finally figured it out: I had some validation code on the Client table. When I commented this out, the error went away. This code used to work, but for some reason it is causing the error.
The really annoying thing is that I could never get a helpful error message and I spent a lot of time trying to figure this out.
Thanks again for your help.
Mark
-
Помечено в качестве ответа
29 августа 2014 г. 13:32
-
Помечено в качестве ответа
Форум КриптоПро
»
КриптоПро УЦ
»
КриптоПро УЦ 2.0
»
Ошибка создания сертификата при использовании шаблона для ФНС
OOORosta |
|
Статус: Участник Группы: Участники Сказал(а) «Спасибо»: 3 раз |
Собственно, не создается сертификат для ФНС. |
|
|
Захар Тихонов |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 36 раз |
Ошибка при создании запроса на сертификат или запрос отклоняется? |
Техническую поддержку оказываем тут. |
|
|
|
OOORosta |
|
Статус: Участник Группы: Участники Сказал(а) «Спасибо»: 3 раз |
Автор: tikhonov запрос отклоняется |
|
|
Захар Тихонов |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 36 раз |
Кто его отклоняет? Скорее всего ЦС. Посмотрите в журнале причину. |
Техническую поддержку оказываем тут. |
|
|
|
OOORosta |
|
Статус: Участник Группы: Участники Сказал(а) «Спасибо»: 3 раз |
Автор: tikhonov Посмотрите в журнале причину. Цитата: Сообщение обработки запроса ID запроса Серийный номер Дата начала Дата окончания Выданное имя субъекта Статус запроса request failed — An error occurred while updating the entries. See the inner exception for details. — Символьные или двоичные данные могут быть усечены. -2146233087
Не нашел эту ошибку в Базе Знаний |
|
|
Захар Тихонов |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 36 раз |
В журнале приложения Windows что? |
Техническую поддержку оказываем тут. |
|
|
|
OOORosta |
|
Статус: Участник Группы: Участники Сказал(а) «Спасибо»: 3 раз |
Автор: tikhonov В журнале приложения Windows что?
|
|
|
Захар Тихонов |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 36 раз |
Уточните, пожалуйста, с помощью какого ПО создавался запрос на сертификат и каким образом он отправлялся на УЦ. |
Техническую поддержку оказываем тут. |
|
|
|
OOORosta |
|
Статус: Участник Группы: Участники Сказал(а) «Спасибо»: 3 раз |
Автор: tikhonov Уточните, пожалуйста, с помощью какого ПО создавался запрос на сертификат и каким образом он отправлялся на УЦ. Запрос, как обычно, создавал через Цитата: Консоль управления ЦР через это же приложение и отправлялся УЦ 2.0 и Консоль управления ЦР на одном ПК Отредактировано пользователем 22 сентября 2017 г. 10:25:53(UTC) |
|
|
Захар Тихонов |
|
Статус: Сотрудник Группы: Участники Сказал «Спасибо»: 36 раз |
Пришлите компоненты пользователя, для которого создавался и обрабатывался запрос. |
Техническую поддержку оказываем тут. |
|
|
|
Пользователи, просматривающие эту тему |
Guest (2) |
Форум КриптоПро
»
КриптоПро УЦ
»
КриптоПро УЦ 2.0
»
Ошибка создания сертификата при использовании шаблона для ФНС
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Исключение:
HResult=0x80131501
Message=An error occurred while updating the entries. See the inner exception for details.
Source=EntityFramework
StackTrace:
at System.Data.Entity.Internal.InternalContext.SaveChanges()
at System.Data.Entity.Internal.LazyInternalContext.SaveChanges()
at System.Data.Entity.DbContext.SaveChanges()
at SQDCDashboard.Services.Services.WindowsOrderImporterService.ImportOrder(DateTime date) in C:UsersMEsourcereposSQDC DashboardSQDCDashboardSQDCDashboard.ServicesServicesWindowsOrderImporterService.cs:line 145
at SQDCDashboardOrderImporterTester.Program.Main(String[] args) in C:UsersMEsourcereposSQDC DashboardSQDCDashboardSQDCDashboardOrderImporterTesterProgram.cs:line 11
Inner Exception 1:
UpdateException: An error occurred while updating the entries. See the inner exception for details.
Inner Exception 2:
SqlException: Violation of PRIMARY KEY constraint 'PK_dbo.ProductionLines'. Cannot insert duplicate key in object 'dbo.ProductionLines'. The duplicate key value is (ceae2692-ed1d-4902-8e16-781aba577130).
The statement has been terminated.
Код:
{
Order ord = new Order
{
//ID and CreatedAt are being auto generated
SerialNumber = serialNum,
UnitNumber = unitNum,
ProductionNumber = prodNum,
MaterialNumber = materialNum,
SalesNumber = salesNum,
Location = Core.Enums.Location.Start,
ProductionLineId = prodLineID, //Foreign Key
ProdLine = prodLines.Where(x => x.Id == prodLineID).FirstOrDefault()
};
context.Orders.Add(ord);
context.SaveChanges();
}
Я пытаюсь обновить свою БД, чтобы добавить в нее новые заказы. Каждый заказ связан с ProductionLine и содержит его идентификатор, а затем ProductionLine. Я считаю, что это происходит, это то, что он пытается добавить в таблицу ProductionLine, но он должен только добавлять таблицу заказов. Я не уверен, как заставить его редактировать только таблицу заказов.
Модели :
public class Order : BaseEntity
{
public string ProductionNumber { get; set; }
public string SalesNumber { get; set; }
public string MaterialNumber { get; set; }
public string SerialNumber { get; set; }
public string UnitNumber { get; set; }
public DateTime? CompletionDate { get; set; }
public Location Location { get; set; }
public string ProductionLineId { get; set; }
public ProductionLine ProdLine { get; set; }
}
public class ProductionLine : BaseEntity
{
public string Name { get; set; }
public double UPE { get; set; }
public string ComputerName { get; set; }
public bool ActiveLine { get; set; }
}
Решение:
Я не установил неизменным свой список ProductionLine, который запрашивался в другом операторе использования. Установка его в неизменном состоянии позволяет EF знать, что ему не нужно обновлять его, что означает, что он не пытается дублировать идентификаторы.
2 ответа
Лучший ответ
Entity Framework вставляет все записи с добавленным состоянием. Таким образом, ваша сущность тоже имеет такое же состояние, что и из-за того, что она вставлена.
Вы можете установить его состояние, используя context.Entry (prodLines.Where (x => x.Id == prodLineID) .FirstOrDefault ()). State = EntityState.Unchanged;
Без изменений: сущность отслеживается контекстом и существует в базе данных, а значения ее свойств не изменились по сравнению со значениями в базе данных.
Вы можете увидеть больше информации об этом поведении в Состояния сущностей и SaveChanges
1
Mehrdad
26 Мар 2020 в 16:09
Вы уверены, что правильно настраиваете свои первичные ключи?
При добавлении public int OrderId { get; set; }
к заказу public string ProductionLineId { get; set; } на производственную линию
Я могу вставить производственную линию и ссылаться на нее из нескольких заказов.
Вы используете prodLines.Where(x => x.Id == prodLineID)
, который использует свойство Id
, которое не отображается в вашем классе Model.
Похоже, у вас есть свойство Id
в вашем BaseEntity?
0
bergerb
26 Мар 2020 в 16:25