当我想在SQL DataBase中保存更改时,对一个或多个实体的验证失败

本文关键字:一个 失败 验证 实体 SQL DataBase 保存更改 | 更新日期: 2023-09-27 17:52:12

当我尝试使用实体框架保存数据库中的更改时,我得到这个错误,这是我的代码:

public void AjoutDatePoint(DateTime date)
{
    int dateStamp = Convert.ToInt32((date - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds);
    DataModel.TB_TA_RESULT result= new DataModel.TB_TA_RESULT();
    result.nDateTime = dateStamp;
    result.nUserIdn = 1;
    result.nShiftIdn = 3;
    SessionContext.DBContext.TB_TA_RESULT.Add(result);
    SessionContext.Save();
}

谢谢

当我想在SQL DataBase中保存更改时,对一个或多个实体的验证失败

当EF验证实体(在提交到数据库之前)以确保它遵守配置的合约(最大长度,所需值等)时,会发生此错误。

因为你没有发布实体定义+ EF配置,所以我不能告诉你EF抱怨的是哪个属性。

但是您可以通过捕获异常(类型为DbEntityValidationException),然后检查异常上的EntityValidationErrors属性的内容,自己很容易地弄清楚它。从它你会得到非常具体的信息,将告诉你哪些属性需要注意,为什么。

相关文章: