如何处理System.Data.Entity.Validation.DbEntityValidationException
How to handle System.Data.Entity.Validation.DbEntityValidationException
我写了这个简单的代码来更新我的数据库列。
using (HRMSEntities context = new HRMSEntities())
{
TBL_EMPLOYEE dataTicketInsert = new TBL_EMPLOYEE();
dataTicketInsert = context.TBL_EMPLOYEE.Where(x => x.Id == inputEmployeeID).FirstOrDefault();
dataTicketInsert.Ticket = ticketT;
context.SaveChanges();
}
错误信息:
'System.Data.Entity.Validation.DbEntityValidationException' 类型的异常发生在 EntityFramework.dll 中,但未在用户代码中处理
附加信息:一个或多个实体的验证失败。有关详细信息,请参阅 'EntityValidationErrors' 属性。
我该如何解决这个问题?
将以下代码添加到您的 DbContext class,然后在验证错误消息中,您将能够看到验证问题的详细信息:
public override int SaveChanges()
{
try
{
return base.SaveChanges();
}
catch (DbEntityValidationException ex)
{
var errorMessages = ex.EntityValidationErrors
.SelectMany(x => x.ValidationErrors)
.Select(x => x.ErrorMessage);
var fullErrorMessage = string.Join("; ", errorMessages);
var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);
throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
}
}
参考:
我写了这个简单的代码来更新我的数据库列。
using (HRMSEntities context = new HRMSEntities())
{
TBL_EMPLOYEE dataTicketInsert = new TBL_EMPLOYEE();
dataTicketInsert = context.TBL_EMPLOYEE.Where(x => x.Id == inputEmployeeID).FirstOrDefault();
dataTicketInsert.Ticket = ticketT;
context.SaveChanges();
}
错误信息: 'System.Data.Entity.Validation.DbEntityValidationException' 类型的异常发生在 EntityFramework.dll 中,但未在用户代码中处理 附加信息:一个或多个实体的验证失败。有关详细信息,请参阅 'EntityValidationErrors' 属性。
我该如何解决这个问题?
将以下代码添加到您的 DbContext class,然后在验证错误消息中,您将能够看到验证问题的详细信息:
public override int SaveChanges()
{
try
{
return base.SaveChanges();
}
catch (DbEntityValidationException ex)
{
var errorMessages = ex.EntityValidationErrors
.SelectMany(x => x.ValidationErrors)
.Select(x => x.ErrorMessage);
var fullErrorMessage = string.Join("; ", errorMessages);
var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);
throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
}
}
参考: