实体框架:.Add和.SaveChanges()未将实体添加到数据库

时间:2020-02-18 22:59:19

标签: sql sql-server entity-framework

当我添加条目时

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” VCC.BrokerPortal.DAO.dll验证对一个或多个实体失败。 有关更多详细信息,请参见“ EntityValidationErrors”属性。

是否有办法知道具体未验证的内容?

此外,我使用以下代码行测试了实体的状态

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

状态当前显示“已添加”的值。

1 个答案:

答案 0 :(得分:0)

谢谢!

我最终调查了引发的异常,它似乎与没有适当验证的属性之一有关。在这种情况下,我为字段分配了[MaxLength]属性,并且试图添加一个比允许的长度更长的值。