数据库连接方案比拼

数据库连接方案比拼


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


相关推荐

  • 单片机控制步进电机程序c语言正反转停止,51单片机控制步进电机正反转并实现调速的程序设计…

    单片机控制步进电机程序c语言正反转停止,51单片机控制步进电机正反转并实现调速的程序设计…这是一款51单片机控制步进电机正反转的程序,同时还能实现调速。#include”reg51.h“#include“intrins.h”#defineucharunsignedchar#defineuintunsignedint#definedelayNOP();{_nop_();_nop_();_nop_();_nop_();};unsignedcharcodeFFW[8]…

    2022年5月15日
  • (图文)最详细的XAMPP的安装及使用教程「建议收藏」

    (图文)最详细的XAMPP的安装及使用教程「建议收藏」XAMPP的安装及使用教程1、简介2、安装运行3、配置数据库XAMPP的安装及使用教程1、简介XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。这个软件包原来的名字是LAMPP,但是为了避免误解,最新的几个版本就改名为XAMPP了。它可以在Windows、Linux、Solaris、MacOSX…

    2022年7月27日
  • 两位数相乘的速算法靠谱吗?

    两位数相乘的速算法靠谱吗?我们有了常规的知识体系,更多时候会感觉繁琐,或者感觉力不从心,所以我们就会有投机的心理,一旦发现存在一些相关的攻略,看起来可能会颠覆原本的认知,我们就会更加欣喜。比如前几天我无意中看到了下面的速算攻略。我直接拿来原文。…

    2022年6月7日
  • csdn社区内容创作规范_内容不符合规范

    csdn社区内容创作规范_内容不符合规范良好的社区环境,需各位创作者与CSDN共同维护建立!

    2022年9月18日
  • B样条曲线的一些基本性质[通俗易懂]

    B样条曲线的一些基本性质[通俗易懂]1.B样条曲线的节点(knotpoint)指的是将区间划分为一段一段的分段点。节点向量(knotvector)则是由多个节点组成的向量。2.B样条曲线的次数(degree)也就是基函数的次数,而阶数(oder)则是次数加1。3.若B样条曲线由n+1个控制点(从P0到Pn),有m+1个节点(从u0到um),阶数为k+1(次数为k),则必须满足m=n+k+1。4.B样条曲线的每个控制点对应一个基函数,所有控制点与对应的基函数的乘积求和可得到B样条曲线的函数表达式。5.B样条曲线具有局部支撑性。第i+

    2022年6月18日
  • arduino 超声波测距误差较大_超声波测距的背景

    arduino 超声波测距误差较大_超声波测距的背景arduino实现超声波测距涉及模块:四线超声波测距模块,LCD1602ALCD1602连接实验代码:#include<LiquidCrystal.h>LiquidCrystallcd(12,11,5,4,3,2);constintTrigPin=7;constintEchoPin=6;floatcm;voidsetup(){lcd.begin(16,2);pinMode(TrigPin,OUTPUT);pinMode

    2022年9月15日

发表回复

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

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