小编Tec*_*Fun的帖子

由于方法调用而嵌套的DbContext - Entity Framework

在以下情况中,由于方法调用而嵌套了两个DbContexts:

public void Method_A() {
    using (var db = new SomeDbContext()) {
        //...do some work here
        Method_B();
        //...do some more work here
    }
}

public void Method_B() {
    using (var db = new SomeDbContext()) {
        //...do some work
    }
}
Run Code Online (Sandbox Code Playgroud)

题:

  1. 这种嵌套会导致任何问题吗?(并且正确的DbContext会在正确的时间处理吗?)

  2. 如果将Method_A重构为:这种嵌套被认为是不好的做法:

    public void Method_A() {
        using (var db = new SomeDbContext()) {
            //...do some work here
        }
    
        Method_B();
    
        using (var db = new SomeDbContext()) {
            //...do some more work here
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

谢谢.

entity-framework

32
推荐指数
2
解决办法
8138
查看次数

标签 统计

entity-framework ×1