C# – DAO Design Pattern – Root Generic MSSQL DAO Class / Inherit Constructor / Multiple Data Source Connection String 方法

C# – DAO Design Pattern – Root Generic MSSQL DAO Class / Inherit Constructor / Multiple Data Source Connection String 方法

   DAO\DAO.cs
 
   public DAO
   {
      private string connstr;
      private SqlConnection conn;
      internal SqlCommand cmd;
 
      public DAO(string Role)
      {
         if (Role == "Acting") this.connstr = ConfigurationManager.AppSettings["????"].ToString();
         else if (Role == "UserInfo") this.connstr = ConfigurationManager.AppSettings["????"].ToString();
 
         this.conn = new SqlConnection(this.connstr);
      }
 
      internal SqlConnection getConnection() { … … }
 
      internal void ConnectionOpen() { … … }
 
      internal void ConnectionClose() { … … }
 
      internal void CreateCommandObj( string SQL ) { … … }
 
      internal void CommandDispose() { … … }
 
   }
 
   DAO\UserActingDAO.cs
 
   public UserActingDAO : DAO
   {
      public UserActingDAO() : base("Acting") { }
 
      public List<xxx> getxxx()
      {
         List<xxx> list = new List<xxx>();
 
         this.ConnectionOpen();
 
         this.cmd = this.CreateCommandObj(" SELECT … … … FROM … … ");
         SqlDataReader reader = this.cmd.ExecuteReader();
 
         while( reader.Read() )
         {
 
            xxx.xxx = reader["xxx"].ToString();
 
            … …
 
            list.Add(xxx);
 
         }
 
         reader.Dispose();
         this.CommandDispose();
         this.ConnectionClose();
 
         return list;
      }
 
   }
 
   DAO\UserInfoDAO.cs
 
   public UserActingDAO : DAO
   {
      public UserInfoDAO() : base("UserInfo") { }
 
      … …
   }