EF(实体框架)”;使用“;语句和“;尝试捕获”;彼此之间

本文关键字:彼此之间 使用 实体 框架 EF 语句 | 更新日期: 2023-09-27 18:26:25

使用/ttry-catch块的这些方法之间有什么区别吗?

第一:

public bool Insert(SomeEntity entity)
{
    bool result = false;
    
    try
    {
        using (var db = new MyEntities())
        {
            db.AddToSomeEntity(entity);
            db.SaveChanges();
            
            result = true;
        }
    }
    catch (Exception e)
    {
        //
    }
    return result;
}

第二:

public bool Insert(SomeEntity entity)
{
    bool result = false;
    using (var db = new MyEntities())
    {
        try
        {
            db.AddToSomeEntity (entity);
            db.SaveChanges();
            result = true;
        }
        catch (Exception e)
        {
                    //
        }
    }
    
    return result;
}

它会影响性能吗?

添加此字符串是为了满足SO提交验证规则。

EF(实体框架)”;使用“;语句和“;尝试捕获”;彼此之间

我不认为这违反了任何规则-你想在什么时候将上下文发送到垃圾收集,我建议使用第二种方法,因为它更具体,当你的函数完全执行时,你会将对象发送到垃圾回收,否则你可能会遇到一个异常,你试图在上下文不再可用时使用它