数据库连接方案比拼

数据库连接方案比拼


.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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【源码】二分法的matlab实现「建议收藏」

    二分法的matlab算法实现本篇是在课程学习中自己编程实现的二分法计算非线性方程或者超越方程近似根的算法,写一下,后边便于复习和期末课程设计引用。%二分法求根的matlab算法function[x0,n]=dichotomy(a,b,err,f_x)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%输入参数a为根的区间左端点%%输入参数b为根的区间右端点

    2022年4月11日
    38
  • 联想g510键盘如何拆装视频_联想g5080键盘怎么拆

    联想g510键盘如何拆装视频_联想g5080键盘怎么拆导致笔记本键盘失灵的原因有很多种,有时候是因为电脑系统的原因,但是大部分还是因为键盘本身的问题,如果是键盘本身的问题导致的笔记本键盘失灵,那么最多的解决方法就是拆卸该笔记本的键盘,然后分析问题的所在。下面小编就为大家介绍一下的方法吧,欢迎大家参考和学习。首先观察一下键盘正面,键盘靠一个弧形的卡口卡在掌托上的。如图:键盘左手面在桌上找一块大空地,周围不要放水或者…当键盘坏了,这时就需要更换了,笔…

    2025年12月9日
    2
  • 连接ssh显示access denied,设置PermitRootLogin yes后依然不行解决办法

    连接ssh显示access denied,设置PermitRootLogin yes后依然不行解决办法ssh连接Ubuntu之accessdenied解决方法是:修改/etc/ssh/ssh_config文件,#PermitRootLoginprohibit-password改为PermitRootLoginyes**然后!!!!!!!!!!**PasswordAuthenticationyes最后,设置root的密码。passwdroot。重启ssh(/etc/init.d/sshrestart)之后就可以了。…

    2022年5月27日
    168
  • 扫雷游戏网页版_两个在线版复古小游戏,嗯还是熟悉的味道!「建议收藏」

    扫雷游戏网页版_两个在线版复古小游戏,嗯还是熟悉的味道!「建议收藏」今天给大家推荐两个轻松的网站,其实是两个在线的小游戏网站,分分钟让你找回许久之前的回忆,我们一起来看看吧。01、在线俄罗斯方块网址:http://www.webgame.org.cn看到上图的画面,已经无需多说什么了,“上了年纪”的小伙伴肯定都玩过这个吧,经典中的经典。这个网页的还原度也很高,可以通过键盘控制,老Y也就玩了两个小时而已~02、在线扫雷网址:http://www.saolei.org…

    2025年6月16日
    4
  • DUMPBIN命令使用详解

    DUMPBIN命令使用详解DUMPBIN命令使用详解2018-08-07有可能你会遇到“’dumpbin’不是内部或外部命令,也不是可运行的程序或批处理文件。”的提示,怎么办呢?1.找到VCVARS32.bat,比如在我的机器上其路径为:C:\ProgramFiles\MicrosoftVisualStudio8\VC\bin\vcvars32.bat2.将VCVARS32.bat拖放…

    2022年6月19日
    39
  • C++有序双向链表

    C++有序双向链表

    2021年8月20日
    60

发表回复

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

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