【问题标题】:LinqToDB: How to change connection string, or set it without using project's configurationLinqToDB:如何更改连接字符串,或在不使用项目配置的情况下进行设置
【发布时间】:2015-06-14 22:37:38
【问题描述】:

https://github.com/linq2db/linq2db 我需要使用不同的连接字符串,但找不到如何制作。

【问题讨论】:

    标签: asp.net-mvc linq linq2db


    【解决方案1】:

    你可以提供不同的连接字符串,只要你给他们不同的名字:

     <connectionStrings>
        <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=yourdatabasesource;User ID=User;Password=Yourpassword" />
    
     <add name="Northwind" 
        connectionString = "Server=.\;Database=Northwind;Trusted_Connection=True;Enlist=False;" 
        providerName     = "SqlServer" />
    
    </connectionStrings>
    

    编辑 1:


    另一种方法是创建一个外部配置文件并在您的web.config 中引用它。

    • 在您的解决方案中,添加一个新配置文件并创建所有连接字符串(此文件应该只有连接字符串语法,没有其他内容):

      <connectionStrings> Conenction name 1 Connection name 2 ...... </connectionStrings>

    • 在您的 web.config 中引用此配置文件:

      &lt;connectionStrings configSource="Youconfigfilename.config"&gt;&lt;/connectionStrings&gt;

    【讨论】:

    • 我不想在配置中放置超过 200 个连接字符串,因为它们仅在 ID 上有所不同。
    • 您可以创建一个配置文件,您可以在其中存储所有连接字符串并在您的 web.config 中引用一次检查我的编辑
    【解决方案2】:

    我找到了解决方案。这不是很好。 (我用firebird):

    public FirebirdDatabaseContext(IDataProvider provider, string connectionString):base(provider, connectionString){}
    

    使用了IDataProvider 的重载。创建FirebirdDatabaseContext时需要直接传递new FirebirdDataProvider()作为第一个参数,连接字符串作为第二个。

    【讨论】:

      【解决方案3】:

      您可以使用DataConnection.AddConfiguration(...)DataConnection.SetConnectionString(...) 在 linq2db 中添加新的或更改现有的连接字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-24
        • 1970-01-01
        • 2021-12-21
        • 1970-01-01
        • 1970-01-01
        • 2017-04-08
        • 1970-01-01
        • 2021-12-17
        相关资源
        最近更新 更多