【问题标题】:Does a static class reuse Entity Framework connection? [closed]静态类是否重用实体框架连接? [关闭]
【发布时间】:2016-01-13 22:51:14
【问题描述】:

这个静态类是否重用实体框架连接,它是线程安全的吗?

public static class TeamService
{
    public static Team GetTeam(string id)
    {
        using (var Db = new ApplicationDbContext())
        {
            //TODO:
        }
    }
}

【问题讨论】:

    标签: c# entity-framework


    【解决方案1】:

    默认情况下,上下文管理与数据库的连接。上下文根据需要打开和关闭连接。例如,上下文打开连接以执行查询,然后在处理完所有结果集后关闭连接。

    -- https://msdn.microsoft.com/en-us/data/jj729737

    每个线程的单独上下文实例是线程安全的。只要 因为每个执行线程都有自己的 EF 上下文实例 会好的。

    -- https://stackoverflow.com/a/4455827

    【讨论】:

    • 请注意,connection 和 context 之间存在明显区别。每次调用都有一个上下文并不一定意味着每次调用都有一个连接。
    • 感谢指出我的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多