【问题标题】:How do you change SubSonic 3's connection string on the fly?您如何即时更改 SubSonic 3 的连接字符串?
【发布时间】:2012-03-27 00:06:13
【问题描述】:

我想在 SharedDbConnectionScope 中包装一些查询并在不同的连接字符串下执行它们。如何动态添加提供程序/连接字符串以执行此操作?

谢谢

【问题讨论】:

    标签: c# subsonic subsonic3


    【解决方案1】:

    用于生成类的ActiveRecord\Context.ttLinqTemplates\Context.tt 都包含构造函数:

        public <#=DatabaseName#>DB(string connectionStringName)
        {
            DataProvider = ProviderFactory.GetProvider(connectionStringName);
            Init();
        }
    
        public <#=DatabaseName#>DB(string connectionString, string providerName)
        {
            DataProvider = ProviderFactory.GetProvider(connectionString,providerName);
            Init();
        }
    

    因此,您可以将连接字符串传递给这些构造函数之一,例如:

    // point to a certain connection string in the app.config
    var db = new MySample("SomeConnectionStringName");
    
    // Use a specific connection string, not the app.config
    var db = new MySampleDB(@"server=.\SQL2008;database=Sample;integrated security=true;", "System.Data.SqlClient");
    

    【讨论】:

    • 谢谢。我以某种方式错过了这个,期待它会更难。
    猜你喜欢
    • 2010-10-19
    • 1970-01-01
    • 2023-04-01
    • 2011-03-12
    • 2019-04-13
    • 2011-04-02
    • 1970-01-01
    • 2023-04-06
    • 2012-04-24
    相关资源
    最近更新 更多