2013-03-15 81 views
2

我有一個Web應用程序,包括以下內容:設置app.config文件的連接字符串動態

  1. MVC Web開發項目(包含連接字符串web.config文件 - 但在任何數據庫訪問代碼它)

  2. 使用LINQ-SQL類的數據訪問項目(它是一個類庫,該項目的dll將被放入上面的MVC項目並訪問數據)。

我需要的是我在我的MVC項目的web.config文件中有一個連接字符串。我必須在類庫中編寫一個函數,以便根據MVC webcofig文件中的連接字符串來修改app.config,settings.settings和dbml文件中的連接字符串。並根據此連接從數據庫中獲取數據。

回答

3

可以將類庫中的DBML文件的連接字符串設置爲「無」, 對於執行數據庫操作的類庫中的類可以使用從其構造函數中設置的連接字符串。

對於例如:

public class DBOperations 
    { 
     string conn; 
     public DBOperations(string connectionString) 
     { 
      conn = connectionString; 
     } 

     //Use this connection string in Your functions 
    } 

此連接字符串可以從web設置application.And它可以作爲對應的數據訪問層類的構造函數被傳遞。

4

重寫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(); 
    } 
} 
相關問題