当我想在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();
}
谢谢
当EF验证实体(在提交到数据库之前)以确保它遵守配置的合约(最大长度,所需值等)时,会发生此错误。
因为你没有发布实体定义+ EF配置,所以我不能告诉你EF抱怨的是哪个属性。
但是您可以通过捕获异常(类型为DbEntityValidationException),然后检查异常上的EntityValidationErrors属性的内容,自己很容易地弄清楚它。从它你会得到非常具体的信息,将告诉你哪些属性需要注意,为什么。