首页 > 解决方案 > 在 NpgSQL 中打开多个 conn 是否可行?

问题描述

我当前使用 Entity Framework MVC 在 ASP.NET 中开发的 Web 应用程序有一个错误。我所做的是,当用户注册时,我从模板数据库创建他的数据库,因此所有注册用户都具有相同的数据库模式。

当 User#1 打开会话并"Server=localhost; User Id=postgres; Password=Password$; port=5432; Database=USER1_DB; Pooling=false;"在 User2 登录后立即连接到他分配的数据库时,User1 会丢失他的初始连接字符串,因为它已被替换为"Server=localhost; User Id=postgres; Password=Password$; port=5432; Database=USER2_DB; Pooling=false;".

我理解我的代码中的问题,因为每当执行登录操作时,public IActionResult Login(Homepage acc){...}我都会建立NpgsqlConnection conn = new NpgsqlConnection();并更改连接字符串:conn.ConnectionString = "Server=localhost; User Id=postgres; Password=Password$; port=5432; Database=" + USERID + "_DB; Pooling=false;";

所有其他用户都失去了初始连接字符串......

有没有办法拥有多个conn.open,以便在运行 Web 应用程序时将每个 conn 分配给相关用户?

谢谢

标签: c#asp.net-mvcpostgresqlentity-frameworkmodel-view-controller

解决方案


推荐阅读