gpt4 book ai didi

c# - 可以在 Entity Framework 的 CreateOrUpdate 方法中依赖 try-catch 吗?

转载 作者:行者123 更新时间:2023-11-30 19:51:50 25 4
gpt4 key购买 nike

这样做可以接受吗?首先尝试添加实体。如果添加失败,没关系,因为这意味着该实体已经存在?

或者是否有更优雅/更简单的解决方案?

EntityFrameworkEntities dal = EntityDataModelHelper.GetEntityDataModel();

try
{
dal.AddToXXXXXX(xxxxxxx);
}
catch
{

}

try
{
dal.SaveChanges();
return true;
}
catch
{
return false;
}

好的,我把它缩短为...

EntityFrameworkEntities dal = EntityDataModelHelper.GetEntityDataModel();

if(xxxxxxx.ID == 0)
{
dal.AddToXXXXXX(xxxxxxx);
}

try
{
dal.SaveChanges();
return true;
}
catch
{
return false;
}

最佳答案

这样做当然可以。 C# 中没有类型的 catch 语句表示“捕获任何标准或非标准异常”。但是您的意图是防止重复添加。添加可能因多种原因而失败,这些原因并不表示存在条目。例如,该方法可能会抛出一个空引用,而您会假设它已被添加。

如果你想检查重复添加,你必须只捕获为重复添加抛出的异常。

关于c# - 可以在 Entity Framework 的 CreateOrUpdate 方法中依赖 try-catch 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/643731/

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