实体框架中的会话之间是否共享数据库上下文?

时间:2018-12-04 00:41:45

标签: entity-framework .net-core dbcontext

在Startup.cs中,可以使用瞬态和单例来控制依赖项注入生命周期。但是,尚不清楚services.AddDbContext<DatabaseContext>(...);

这样的.AddDBContext生命周期如何工作。

每个控制器通过在构造函数中仅初始化一次此依赖关系,并在整个控制器功能中重复使用。

是为每个请求初始化了上下文,还是有在用户会话之间共享该上下文,导致状态变坏的可能性?

注意:如果在用户会话之间共享上下文,重复的问题不会解决。

1 个答案:

答案 0 :(得分:1)

services.AddDbContext<>(...);将您的DbContext注册为作用域。这意味着将为每个单个请求创建一个新实例。无需担心它将与其他连接共享。