关于c#:EF(实体框架)“使用”语句和“try catch”在彼此之内

EF(entity framework) “using” statement and “try catch” withing each other

使用此代码时是否有任何区别:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    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;
    }

而这:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    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提交验证规则,添加了此字符串。/


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