g.p*_*dou 14 c# entity-framework entity-framework-6 entity-framework-core .net-core
对于 EF,我使用了 DbEntityValidationException catch 分支(以及其他分支)
catch (DbEntityValidationException exception)
{
// any statements here...
throw;
}
Run Code Online (Sandbox Code Playgroud)
现在将 .NET Core 3.17 与 EF Core 3.17 一起使用,显然没有 DbEntityValidationException,并且还审查了 EF Core 3.17 源,并且没有该异常类型的痕迹。(注意,我不仅谈论它的定义位置,我的意思是它没有被抛出到 EF Core 3.17 源代码中的任何位置)
问题
如何将上面的代码迁移到EF Core 3.17?
当您查看DbEntityValidationException 的文档时,您可以看到它适用的版本只有:4.3.1、5.0.0、6.2.0。
现在,如果您查看SaveChanges的文档(假设这就是您在 try 块中调用的内容,您可以看到它现在只抛出 DpUpdateException 和 DbUpdateConcurrencyException。所以我认为您可能想要的是下面的内容,因为这应该捕获任何保存到数据库时出现异常。我认为验证将包含在其中。
catch (catch (DbUpdateException exception)
{
// any statements here...
throw;
}exception)
{
// any statements here...
throw;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5738 次 |
| 最近记录: |