我正在研究多租户和多实例方法,并选择了混合方法。
我保留了ASP.Net MVC 2应用程序的单个实例,但克隆了每个客户端的数据库结构。我正在使用LINQ to SQL。
现在,我有两个实例,所以只有一个连接字符串正在工作。
我打算为许多客户扩展它。
我可以编写代码来创建数据库结构的克隆,创建数据库用户并在新客户端注册时提供权限。我还将所有这些细节(数据库名称,数据库用户,允许的应用程序用户)保存在表格中。
但是如何让应用程序根据登录的人使用不同的数据库?
我甚至无法弄清楚我应该采取的方法来做到这一点。我应该以编程方式将连接字符串添加到web.config吗?还有另一种方法吗?
答案 0 :(得分:2)
DataContext的一个构造函数接受连接字符串。您可以根据特定请求的用户组合此字符串。
这将覆盖默认连接。
答案 1 :(得分:0)
检查DataContext的构造函数重载,有一个接受连接字符串。您只需要针对登录用户映射字符串属性。
请不要以编程方式将每个用户的连接字符串添加到web.config,请考虑可伸缩性!!!