【问题标题】:Set app.config file connection string dynamically动态设置 app.config 文件连接字符串
【发布时间】:2013-03-16 12:56:05
【问题描述】:

我有一个包含以下内容的网络应用程序:

  1. 一个 MVC Web 项目(带有一个包含连接字符串的 web.config 文件 - 但其中没有数据库访问代码)

  2. 一个使用LINQ-SQL类的数据访问项目(是一个类库,这个项目的dll会放到上面的MVC项目里面访问数据)。

我需要的是我的 MVC 项目的 web.config 文件中有一个连接字符串。我必须在类库中编写一个函数,以便根据 MVC webcofig 文件中的连接字符串修改 app.config、settings.settings 和 dbml 文件中的连接字符串。并且数据应该根据这个连接从数据库中获取..

【问题讨论】:

    标签: asp.net-mvc web-config connection-string app-config


    【解决方案1】:

    如下所示覆盖 DataContext 的构造函数。

    public partial class MyDataContext : System.Data.Linq.DataContext
    {
        //This constructor make sure that the connection string is used from the web.config file.
        public MyDataContext()
            : base(ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString, mappingSource)
        {
            OnCreated();
        }
    }
    

    【讨论】:

      【解决方案2】:

      您可以将类库中 DBML 文件的连接字符串设置为“无”, 对于执行 DB 操作的类库中的类,可以使用从它的构造函数设置的连接字符串。

      例如:

      public class DBOperations
          {
              string conn;
              public DBOperations(string connectionString)
              {
                  conn = connectionString;
              }
      
              //Use this connection string in Your functions
          }
      

      这个连接字符串可以从web应用程序中设置,可以作为对应数据访问层类的构造函数传递。

      【讨论】:

        猜你喜欢
        • 2016-06-22
        • 1970-01-01
        • 1970-01-01
        • 2011-01-30
        • 2013-02-01
        • 2013-08-09
        • 2023-03-13
        • 2011-03-11
        • 2023-04-04
        相关资源
        最近更新 更多