gpt4 book ai didi

c# - 处理 Entity Framework 中的异常 4

转载 作者:太空狗 更新时间:2023-10-29 19:55:55 24 4
gpt4 key购买 nike

我需要一种方法来区分使用 Entity Framework LINQ 的 SQL 异常,例如,当我从 DbUpdateException 得到的只是大量嵌套的内部异常和无用的长错误消息时,如何区分违反前键约束或违反唯一约束?是否有任何较低级别的异常,我可以在其中执行类似“Catch FKException”的操作;捕获“uniqueException”或类似的东西。

最佳答案

            try
{
//code
}
catch (System.Data.Entity.Validation.DbEntityValidationException e)
{
string rs = "";
foreach (var eve in e.EntityValidationErrors)
{
rs = string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State);
Console.WriteLine(rs);

foreach (var ve in eve.ValidationErrors)
{
rs += "<br />" + string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage);
}
}
throw new Exception(rs);
}

关于c# - 处理 Entity Framework 中的异常 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19042107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com