数据库连接方案比拼

数据库连接方案比拼


.net曾经值得我们学习的petshop框架和现在我们普遍使用的Provider模式再到最近刚更新的Enterprise Library 3.0.

虽然已经做到了兼容多种数据库,但你一换数据库的话,意味着你还是需要写一大堆重复的代码,可能有工具帮你写.如果我们的系统真的到了这种地步,抽象工厂的实现方法还是没有减少我们的工作量.

最近看过一个叫锐傲的开源博客,值得大家学习,还有第一本书
Nhibernate in Action要出版了.相信以后ORM会越来越流行.

scottgu发表了一篇Working with Data in ASP.NET 2.0,总结 

传说中的
Nhibernate最佳实践已经更新到支持1.2版本了.

我们该如何学习Nhibernate呢?Nhibernate是有文档的,Nhibernate的文档是跟Hibernate差不多的,Hibernate是有中文文档的,两者90%的操作是差不多的,但Nhibernate没Hibernate支持的东西多.对比文档一看遍知.

文档可以到
这里下载

个人认为Nhibernate的灵活性还是最大的,烦的就是配置xml文件,而且很重要,跟性能很有关系.

另外2.0新加的数据源控件使用率最高的应该是ObjectDataSource,看过里面的一些代码,我怎么老感觉当获取数据对象为DataReader时,
数据库连接没有关闭,这个很早就注意到,还是我看错了,大家可以测试下.怎么测试呢

使用SqlDataSource对象,DataSourceCode属性设置为DataReader,在Selected事件中查看Connection的State属性,如果我说的没错的话,大家使用时候要小心了,还是用DataSet安全.

None.gif
    
protected
 
void
 SqlDataSource1_Selected(
object
 sender, SqlDataSourceStatusEventArgs e)
ExpandedBlockStart.gifContractedBlock.gif    

dot.gif
{

InBlock.gif
InBlock.gif        Label1.Text
=e.Command.Connection.State.ToString();
ExpandedBlockEnd.gif    }

使用ObjectDataSource的话,虽然后台少了几行代码,其实有时候用的时候会发现没这么的方便的,总是出错.而且有时候总是重新从数据库中读数据绝对的影响性能.我以前就很喜欢用ObjectDataSource,所以不该用的时候还是不要用,刚开始可能感觉这个控件很好玩,我们还得从整体考虑下

大家可以看下
scottgu刚写的
Working with Data in ASP.NET 2.0
.

发现其中有个叫SubSonic的,下过来看了看.好象以前接触过,又一个快速开发的框架.是不是Ruby的做法,自己瞎猜的.

我们还是看需求而定吧,我们并非就一定需要ORM

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111100.html原文链接:https://javaforall.net

(0)
上一篇 2021年7月24日 下午12:00
下一篇 2021年7月24日 下午1:00


相关推荐

  • fetch_array()与fetch_assoc()的用法

    fetch_array()与fetch_assoc()的用法

    2021年11月4日
    47
  • vs2015安装失败怎么卸载_vs2013怎么卸载

    vs2015安装失败怎么卸载_vs2013怎么卸载使用微软自带的程序安装卸载工具有时候无法完全卸载VS2005,导致想重新安装VS2005时提示“此计算机上已安装了试用版本。必须先卸载以前安装的试用版本后才能安装另一个试用版”。此时可以下载专用工具“VS2005卸载工具”进行彻底删除,此具工在本人的博客资源中有下载。如果这样彻底删除后还不能安装,则可以进入注册表,找到如下注册键,把它删除:删除HKEY_LOCAL_MACHINE\SOFTW

    2026年2月20日
    6
  • cegui 0.8.7 安装和构建

    cegui 0.8.7 安装和构建cegui是一个开源GUI库,经过历史的验证和发展,变得非常庞大和复杂,但效率是有所保证的,常用于游戏开发。1.首先去CEGUI官网,点击进入下载界面。2.下载这两个,第一个是cegui

    2022年7月3日
    25
  • 桌面太单调?一起用Python做个自定义动画挂件,好玩又有趣!

    桌面太单调?一起用Python做个自定义动画挂件,好玩又有趣!前言前段时间,写了篇博客关于Python自制一款炫酷音乐播放器。有粉丝问我,音乐播放器为什么要用PyQt5,效果是不是比Tkinter赞?PyQt5真的可以实现这些炫酷的UI画面吗?之前没接触过PyQt5,能不能多分享一些这方面的开发案例?今天就带大家,一起用Python的PyQt5开发一个有趣的自定义桌面动画挂件,看看实现的动画挂件效果!下面,我们开始介绍这个自定义桌面动画挂件的制作过程。一、核心功能设计总体来说,我们需要实现将自己喜欢的动态图gif或者视频转成一个桌面动画挂件,并且可以通过鼠

    2022年4月25日
    60
  • 大数据,云计算,物联网三者的区别和关联方法_云计算和物联网的应用

    大数据,云计算,物联网三者的区别和关联方法_云计算和物联网的应用大数据时代的到来,是全球知名咨询公司麦肯锡最早提出的,麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。”《互联网进化论》一书中提出“互联网的未来功能和结构将于人类大脑高度相似,也将具备互联网虚拟感觉,虚拟运动,虚拟中枢,虚拟记忆神经系统”,并绘制了一幅互联网虚拟大脑结构图。…

    2026年4月17日
    3
  • js字符串转date类型_java字符串转double

    js字符串转date类型_java字符串转double//字符串转日期时间格式getDate(strDate){vardate=eval(‘newDate(‘+strDate.replace(/\d+(?=-[^-]+$)/,function(a){returnparseInt(a,10)-1;}).match(/\d+/g)+’)’);returndate;},

    2022年10月4日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号