Reputation: 17
I have a project that uses ASP.NET MVC and follows three tier architecture. I want to add a class library that will have a base class which will contain the connection string and in the child class that connection string has to be called by pass the data source as string.
Base class:
public class DALConnection {
public SqlConnection con = new SqlConnection("Data Source=ABC;Initial Catalog=HotelMgmt;Integrated Security=True");
}
Child class:
public class DataAccessOperation: DALConnection {
// Some code
}
Instead of this I want to pass the connection string to the base class through child class as string.
Upvotes: 1
Views: 1153
Reputation: 777
Do you think you could use the constructors to do that? (as below)
Base class:
public class DALConnection {
public SqlConnection con;
public DALConnection(string connectionString)
{
con = new SqlConnection(connectionString);
}
}
Child class:
public class DataAccessOperation: DALConnection {
//Some code
public DataAccessOperation() : base("Data Source=ABC;Initial Catalog=HotelMgmt;Integrated Security=True")
{
}
}
Upvotes: 1
Reputation: 247018
Use a constructor to pass the connections strings and have the derived class call the base constructor.
Base class
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);
}
}
Child class:
public class DataAccessOperation: DALConnection {
DataAccessOperation(string connectionString) : base(connectionString) {
}
}
Upvotes: 1
Reputation: 51
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)
{
}
}
Upvotes: 0