企业库连接形式简单例子记录 EnterpriseLibrary.Data

  1. 结构图
    1.  
  2. webconfig 配置正确的连接字符串
    1. <connectionStrings>
          <add name="DBConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True"
        providerName="System.Data.SqlClient" /> </connectionStrings>
  3. 创建数据库连接
    1. namespace RedisDemo.Component.DataAccess
      {
          public class TestData
          {
              public static Database TestConnection
              {
                  get
                  {
                      //EnterpriseLibrary.Data v5.0
                      //return DatabaseFactory.CreateDatabase("DBConnection");
      
                      //EnterpriseLibrary.Data v6.0
                      DatabaseProviderFactory factory = new DatabaseProviderFactory();
                      return factory.Create("DBConnection");
                  }
              }
          }
      }
  4. 使用DLL
    1. namespace RedisDemo.Component.DLL
      {
          public class UserDAL
          {
              private Database _db = TestData.TestConnection;
      
              public List<UserInfo> GetUserList()
              {
                  var sql = "select * from Users";
                  DbCommand command = _db.GetSqlStringCommand(sql);
                  List<UserInfo> list = new List<UserInfo>();
                  using (IDataReader dr = _db.ExecuteReader(command))
                  {
                      while (dr.Read())
                      {
                          UserInfo user = new UserInfo();
                          user.ID = int.Parse(dr["ID"].ToString());
                          user.Name = dr["Name"].ToString();
                          list.Add(user);
                      }
                  }
                  return list;
              }
          }
      }
  5. BLL
    1. namespace RedisDemo.Component.BLL
      {
          public class UserBLL
          {
              private UserDAL _dal = new UserDAL();
              private static UserBLL _instance;
      
              public static UserBLL Instance
              {
                  get { return (_instance ?? new UserBLL()); }
              }
      
              private UserBLL() { }
      
              public List<UserInfo> GetUserList()
              {
                  return _dal.GetUserList();
              }
          }
      }

       

 

posted @ 2017-07-31 14:20  随学·笔记  阅读(488)  评论(0编辑  收藏  举报