免费邮箱 |加入收藏 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > .NET专区 > ASP.NET应用

ado.net快速上手疑问及解答(完结篇)

时间:2011-05-21 10:42:14  来源:站内  作者:潘春会

            }
            if (operation == null)
            {
                throw new Exception("您配置的数据库类型有可能那啥出问题了");
            }
            SqlMapper mapper = new SqlMapper(operation);
            dictMappers.Add(connKey.ToUpper().Trim(), mapper);//不区分大小写
        }

        public static ISqlMapper GetMapper(string sqlConKey)
        {
            if (string.IsNullOrEmpty(sqlConKey))
            {
                throw new Exception("数据库连接字符串主键为空!");
            }
            sqlConKey = sqlConKey.ToUpper();//不区分大小写
            ISqlMapper mapper = null;
            if (dictMappers.ContainsKey(sqlConKey))
            {
                mapper = dictMappers[sqlConKey];
            }
            else
            {
                throw new Exception(string.Format("没有{0}所对应的数据库连接", sqlConKey));
            }
            return mapper;
        }

        /// <summary>
        /// 释放所有
        /// </summary>
        public void Release()
        {
            foreach (KeyValuePair<string, ISqlMapper> kv in dictMappers)
            {
                SqlMapper mapper = kv.Value as SqlMapper;
                if (mapper == null)
                {
                    continue;
                }
                mapper.CurrentDbOperation.CloseConnection();
            }
            dictMappers.Clear();
        }

        #endregion

    }
}

必须要注意,这里的数据库切换方式不是绝对的,您可以按照自己喜欢的习惯的其他方式编程完成切换,楼猪这里只是抛砖而已。
2、“我对ORM不熟悉,想问下您的这个ORM到底是节省了哪部分工作? 我看里面有大量的反射,这样是不是非常影响效率?”
首先,楼猪对ORM也不太熟悉。现在实现的这个严格来说也根本谈不上算是ORM,但是有楼猪自己使用过的两个ORM的影子。
其次,当前实现的东东不是为了节省哪部分工作而设计的,楼猪的初衷是重读ado.net经典红皮书而做的复习笔记。
第三,反射相对于没有使用反射,当然非常影响效率。需要说明的是,要不要使用反射应该根据实际的项目需要。根据楼猪个人开发经验,对于大多数程序员要实现的简单的常见的前后台mis系统,在保证基本需求的情况下,客户如果对效率没有意见,用用没有太大关系,大部分工作就交给服务器完成去吧,程序员不用做太多工作。但是对于访问频繁的大型网站,实时系统或者应对大数据量操作的系统等等,建议不要使用反射,而且可能要重点花精力在数据“装潢”上面。

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
如何找出DHCP地址池里未使用的IP地址
如何找出DHCP地址池里
国内常用的DNS列表
国内常用的DNS列表
Linux邮件服务器软件比较
Linux邮件服务器软件比
学用纯CSS打造可折叠树状菜单
学用纯CSS打造可折叠树
相关文章
栏目更新
栏目热门