ASP.NET MVC无实体框架数据库连接
问题描述:
我有一个使用ASP.NET MVC的项目,并遵循三层体系结构。我想添加一个类库,该类库将包含一个将包含连接字符串的基类,并且在子类中必须通过将数据源作为字符串传递来调用连接字符串。ASP.NET MVC无实体框架数据库连接
基类:
public class DALConnection {
public SqlConnection con = new SqlConnection("Data Source=ABC;Initial Catalog=HotelMgmt;Integrated Security=True");
}
子类:
public class DataAccessOperation: DALConnection {
// Some code
}
取而代之的是我想通过子类的连接字符串传递给基类的字符串。
答
你认为你可以使用构造函数来做到这一点吗? (如下)
基类:
public class DALConnection {
public SqlConnection con;
public DALConnection(string connectionString)
{
con = new SqlConnection(connectionString);
}
}
儿童类:
public class DataAccessOperation: DALConnection {
//Some code
public DataAccessOperation() : base("Data Source=ABC;Initial Catalog=HotelMgmt;Integrated Security=True")
{
}
}
答
使用构造,以通过连接的字符串和具有派生类调用基构造。
基类
public class DALConnection {
protected string connectionString = "Data Source=ABC;Initial Catalog=HotelMgmt;Integrated Security=True";
public SqlConnection con;
public DALConnection(string connectionString) {
if(connectionString!=null)
this.connectionString = connectionString;
con = new SqlConnection(this.connectionString);
}
}
子类:
public class DataAccessOperation: DALConnection {
DataAccessOperation(string connectionString) : base(connectionString) {
}
}
答
public class DALConnection
{
public DALConnection(string _conString)
{
if(!String.IsNullOrEmpty(_conString))
{
con=new SqlConnection(_conString);
}
else
{
//error handling
}
}
private SqlConnection con;
}
public class DataAccessOperation: DALConnection
{
public DataAccessOperation (string _conString) :base (_conString)
{
}
}