我是.Net初学者,现在要做个小项目,首先就想弄好DAL。我所知道的.Net下常用数据访问层的构建有:用Typed DataSet;用Data Access Application Block;用CodeSmith生成。但我都没深入用过。请用过的大侠们提提建议,哪一种方法比较好?还有我一直有个疑问,到底是用存储过程再在DAL里面调用好,还是在直接在DAL里面写SQL语句好?我觉得直接写SQL语句容易维护点,但不知道效率是不是差很多?

解决方案 »

  1.   

    http://blog.joycode.com/saucer/articles/77807.aspx
      

  2.   

    还没有翻译完吧,看看英文原版教程:
    http://www.asp.net/learn/dataaccess/default.aspx?tabid=1
      

  3.   

    楼上两位大哥,我是说比较啊~
    强类型数据集是一种方法,但我是想知道哪种方法更好。
    比如PetShop就没用强类型数据集。。
      

  4.   

    lz要比较的这几种用法其实还不是分层架构的问题而是用什么作为数据的“载体”的问题
    直接用DataSet装载数据,它在形态上与数据库表更为接近,查询或增删修改等作都比较直观,应用起来也比较方便;但业务逻辑不容易理解,常常是从这个表增加几行、从那个表修改几行,却不知道是为了实现什么
    强类型的数据集(Typed DataSet)则比原始的DataSet增加了一些“个性化特征”-针对不同的数据表
    使用业务实体的方法最接近实际业务逻辑,便于理解,但是存取和展现不甚方便要增加大量的代码,所以就有不少的映射工具或者直接就是代码生成工具来辅助完成
      

  5.   

    http://opensource.atlassian.com/confluence/oss/display/IBATIS/
      

  6.   

    谢谢各位~
    顺便解答下我存储过程那个问题好么?有答案了就结贴
    是用存储过程再在DAL里面调用好,还是在直接在DAL里面写SQL语句好?实际应用中你们是怎么作的?
      

  7.   

    直接写SQL语句,效率不差,除了很复杂的以外