Entity Framework: .Add & .SaveChanges () не добавляет сущность в базу данных - PullRequest
0 голосов
/ 19 февраля 2020

Когда я добавляю запись

var objectEntity = new ObjectStaging();
objectEntity .CreatedBy = ClaimsPrincipal.Current.Identity.Name;
objectEntity .ModifiedBy = ClaimsPrincipal.Current.Identity.Name;
objectEntity .Set(ObjectInfo);
database.ObjectStaging.Add(objectEntity);
database.SaveChanges();

По какой-то причине мой objectEntity не добавляется в мою базу данных, учитывая следующий код. При использовании отладчика он проходит через database.ObjectStaging.Add(objectEntity);, но не продолжает после вызова SaveChanges(). Есть ли способ узнать, почему не удается добавить запись в базу данных?

Сгенерировано исключение:

Сгенерировано исключение: 'System.Data.Entity.Validation.DbEntityValidationException' в V CC .BrokerPortal.DAO.dll Проверка не удалась для одного или нескольких объектов. См. Свойство EntityValidationErrors для получения дополнительной информации.

Есть ли способ узнать, что конкретно не проверялось?

Кроме того, я проверил состояние объект, использующий следующие строки кода,

database.ObjectStaging.Add(objectEntity);
var state= brokerPortalDB.Entry(objectEntity).State;

состояние в настоящее время показывает значение «добавлен».

1 Ответ

0 голосов
/ 19 февраля 2020

Спасибо!

В итоге я посмотрел на выброшенное исключение, и оказалось, что оно связано с одним из свойств, не прошедшим надлежащую проверку. В этом случае у меня был атрибут [MaxLength], назначенный полю, и я пытался добавить значение, превышающее эту длину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...