相关疑难解决方法(0)

实体框架和连接池

我最近开始在我的.NET 4.0应用程序中使用Entity Framework 4.0,并对与池化相关的一些事情感到好奇.

  1. 据我所知,连接池由ADO.NET数据提供程序管理,在我的情况下是MS SQL服务器.当您实例化新的实体context(ObjectContext)时,这是否适用,即无参数new MyDatabaseModelEntities()

  2. a)为应用程序创建全局实体上下文(即一个静态实例)或b)使用using块为每个给定操作/方法创建和公开实体上下文有哪些优点和缺点.

  3. 我应该了解的某些场景的任何其他建议,最佳实践或常用方法?

.net database ado.net entity-framework connection-pooling

264
推荐指数
3
解决办法
11万
查看次数

由于方法调用而嵌套的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
查看次数