3 回答
TA贡献1827条经验 获得超8个赞
您可以DbEntityValidationException使用以下代码从中提取所有信息(您需要将命名空间:System.Data.Entity.Validation和添加System.Diagnostics到using列表中):
catch (DbEntityValidationException dbEx)
{
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
Trace.TraceInformation("Property: {0} Error: {1}",
validationError.PropertyName,
validationError.ErrorMessage);
}
}
}
TA贡献1111条经验 获得超0个赞
如果您的类具有相同的属性名称,这是Praveen答案的一个小扩展:
catch (DbEntityValidationException dbEx)
{
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
Trace.TraceInformation(
"Class: {0}, Property: {1}, Error: {2}",
validationErrors.Entry.Entity.GetType().FullName,
validationError.PropertyName,
validationError.ErrorMessage);
}
}
}
- 3 回答
- 0 关注
- 673 浏览
添加回答
举报