我有一个解决方案,两个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....
答案 0 :(得分:1)
//添加构造函数
public QuestionDAL(string connectionString)
{
_connectionString = connectionString;
}