动态更改亚音速连接字符串

时间:2009-11-22 11:45:10

标签: asp.net subsonic database-connection

问题背景(您可以跳到问题)

我有很多ASP.Net网站是同一个应用程序。在同一个SQL Server中使用不同的数据库但相同的模式。

管理站点已在每个虚拟目录中实现,我使用subsonic表示DAL。

  1. http://website1.com/admin
  2. http://website2.com/admin
  3. http://website3.com/admin
  4. 将添加..
  5. 现在我没有为每个网站创建管理页面,而是考虑整合/创建一个网站来管理所有这些网站。

    1. http://websiteadmin.com/?website=1
    2. http://websiteadmin.com/?website=2
    3. http://websiteadmin.com/?website=3
    4. 由于我将数据库托管在同一服务器中且具有相同的数据库模式,我认为我只需要更新连接字符串。

      所以问题是..

      如何在运行时切换亚音速数据库连接?

      // WebsiteDAL is the subsonic generated namespace
      // I've tried to change database causing null error
      WebsiteDAL.DB.Repository.Provider.CurrentSharedConnection.ChangeDatabase(db);
      
      // also tried to add connection string and update on runtime, 
      // but still no effect
      WebsiteDAL.DB._provider.ConnectionStringName = "website1connectionstring";
      
      // Records are still loaded from default connection
      WebsiteDAL.SomeTables st = WebsiteDAL.SomeTables.FetchByID(1);
      

1 个答案:

答案 0 :(得分:0)