如何解决EF Core 数据库连接保持活动状态
我有一个使用 EF Core 和 postgres 的 .Net Core 应用程序。当应用程序运行时,如果我运行
docker exec -i postgres-db psql -U admin eventsDb --command "select pid as process_id,usename as username,datname as database_name,client_addr as client_address,application_name,backend_start,state,state_changefrom pg_stat_activity";
有 7 个进程正在运行:
pid | username | database_name | client_address | application_name | backend_start | state | state_change
-----+----------+---------------+----------------+------------------+-------------------------------+--------+-------------------------------
33 | | | | | 2021-04-15 14:10:43.496459+00 | |
35 | admin | | | | 2021-04-15 14:10:43.497432+00 | |
232 | admin | eventsDb | 172.18.0.1 | | 2021-04-15 14:27:21.61369+00 | idle | 2021-04-15 14:27:21.675184+00
246 | admin | eventsDb | | psql | 2021-04-15 14:27:38.210868+00 | active | 2021-04-15 14:27:38.216957+00
31 | | | | | 2021-04-15 14:10:43.495634+00 | |
30 | | | | | 2021-04-15 14:10:43.494741+00 | |
32 | | | | | 2021-04-15 14:10:43.496089+00 | |
(7 rows)
如果我停止应用程序有 6 个进程:
$ docker exec -i postgres-db psql -U admin eventsDb --command "select pid,state_change from pg_stat_activity";
pid | username | database_name | client_address | application_name | backend_start | state | state_change
-----+----------+---------------+----------------+------------------+-------------------------------+--------+-------------------------------
33 | | | | | 2021-04-15 14:10:43.496459+00 | |
35 | admin | | | | 2021-04-15 14:10:43.497432+00 | |
261 | admin | eventsDb | | psql | 2021-04-15 14:28:10.544338+00 | active | 2021-04-15 14:28:10.546737+00
31 | | | | | 2021-04-15 14:10:43.495634+00 | |
30 | | | | | 2021-04-15 14:10:43.494741+00 | |
32 | | | | | 2021-04-15 14:10:43.496089+00 | |
(6 rows)
连接字符串为:
"Host=localhost;Username=admin;Password=<password>;Database=eventsDb;"
问题是: 当没有执行数据库 IO 操作时,这是 EF Core 的正常行为吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。