我需要为不同的用户提供不同的连接字符串。有几个线程呈现类似的场景,其中没有一个具有解决方案 - 如何在登录时为用户建立到数据库的动态连接。
我已经能够动态获取连接字符串,但不太确定如何设置它/它们(并为不同的用户保持不同的字符串活动)。
我有一个ClientDbContext模型,我有
namespace MyProject.Models
{ public class ClientDbContext : DbContext
{
public ClientDbContext(string DefaultConnection)
: base("DefaultConnection")
{
}
在我的ClientController中
using MyProject.Models;
namespace MyProject.Controllers
{
public class ClientController : Controller
{
private ClientDbContext db = new ClientDbContext("DefaultConnection");
这里的大图....目标是在用户登录时动态设置与特定数据库(目录)的连接。可能有几十个不同的数据库。
流程(目前正在工作:-))
我可以在登录期间为用户检索特定的数据库名称和字符串。我创建了一个临时错误消息,向我显示名称和字符串。
接下来会发生什么......
应使用所选字符串为用户创建数据库连接。 我坚持这个......
然后,用户被重定向到客户端索引(客户端) - 这是有效的
并且为用户保留所选连接(直到用户关闭浏览器或注销 - 结束会话)。 不太确定如何设置这个....
其他用户可以使用不同的凭据登录。系统必须为每个经过身份验证的用户保持离散连接。