具有 MySQL 连接的 EF6.1.1 不会关闭

本文关键字:EF6 MySQL 连接 具有 | 更新日期: 2023-09-27 18:35:05

我有一个使用实体框架 6.1.1(最新)和所有最新MySQLWPF(带有 MahApps.MetroCaliburn.Micro)项目。

每当我运行我的项目时,它都会打开一个与 mysql 服务器的新连接,但是当我退出应用程序时,连接保持打开状态并进入睡眠状态。输入新的调试会话会打开一个新连接,而另一个连接仍处于睡眠状态。

如何确保在退出应用程序时正确关闭连接,以免最终达到连接限制?

查询方法

public void RetrieveCourses()
        {
            // Query database
            var context = new TAModelContainer();
            var data = context.Courses.ToList<Course>();
            foreach (Course course in data)
            {
                _courses.Add(course);
            }
        }

具有 MySQL 连接的 EF6.1.1 不会关闭

完成上下文

后处理上下文。 不这样做可能会耗尽您的连接池,并且可能无法获得连接。

    public void RetrieveCourses()
    {
        // Query database
        using(var context = new TAModelContainer())
        {
            var data = context.Courses.ToList<Course>();
            foreach (Course course in data)
            {
                _courses.Add(course);
            }
        }
    }