从共享DAL的2个Web应用程序传递连接字符串?

时间:2013-05-10 14:09:09

标签: asp.net-mvc-3 web-config connection-string data-access-layer

我有一个解决方案,两个MVC 3应用程序共享相同的DAL libaray。每个应用程序都指向一个不同的数据库,它们的连接字符串存储在各自的web.config文件中。

将连接字符串传递给DAL的最佳方法是什么?

来自MVC控制器:

string _connectionString = WebConfigurationManager.ConnectionStrings["NexGenContext"].ToString();
// Changes???
QuestionDAL qd = new QuestionDAL();
var agency = qd.SearchAgencies(ori, name)

DAL代码:

public IEnumerable<AgencyTerm> SearchAgencies(string ori, string name)
        {
            log.Debug("Executing: SearchAgencies(string ori, string name)");
            List<AgencyTerm> agencies = new List<AgencyTerm>();
            using (var conn = new SqlConnection(_connectionString))
            {
                var com = new SqlCommand();
                com.Connection = conn;
                com.CommandType = CommandType.StoredProcedure;
                ... etc....

1 个答案:

答案 0 :(得分:1)

//添加构造函数

public QuestionDAL(string connectionString)
        {
            _connectionString = connectionString;
        }