2

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

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

  2. 一个使用 LINQ-SQL 类的数据访问项目(它是一个类库,这个项目的 dll 将被放入上面的 MVC 项目中并访问其中的数据)。

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

4

2 回答 2

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();
    }
}
于 2013-03-15T12:24:48.277 回答
3

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

例如:

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

        //Use this connection string in Your functions
    }

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

于 2013-03-15T12:15:50.460 回答