【问题标题】:Is Database Context shared between sessions in Entity Framework?实体框架中的会话之间是否共享数据库上下文?
【发布时间】:2019-05-05 08:32:30
【问题描述】:

在 Startup.cs 中,可以使用瞬态和单例来控制依赖注入生命周期。然而,当像services.AddDbContext<DatabaseContext>(...);这样使用 .AddDBContext 时,生命周期是如何工作的还不清楚。

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

是否为每个请求初始化了上下文,或者该上下文是否有可能在用户会话之间共享导致状态不佳?

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

【问题讨论】:

标签: entity-framework .net-core dbcontext


【解决方案1】:

services.AddDbContext<>(...); 使用 Scoped 生命周期注册您的 DbContext。这意味着为每个请求创建一个新实例。无需担心它会与其他连接共享。

【讨论】:

    猜你喜欢
    • 2012-03-15
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多