用Microsoft Enterprise library DAAB模块的困惑

        最近用EntLib建立一个项目,用到其中的DAAB这个模块,这个模块是提供封装了的数据访问方法。本项目需要同时支持Sql Server 和Oracle数据库,现我考虑了两种使用方法,列出来供大家讨论:

    1。不再封装DAAB,程序中的数据访问直接调用DAAB提供的方法,通过配置让DAAB自己选取数据库,这样就需要把涉及到T-Sql 和PL/Sql语法不同的语句都要封装成存储过程。这种方法仅仅需要一个数据访问模块就可以通过配置随意切换两种数据库。

    2。再次封装DAAB,为不同的数据库分别建立DAL模块,另外还要建立IDAL接口,这样虽然不用把所有的sql语句封装成存储过程,而且利用工厂模式和反射可以达到灵活配置数据库,但相应的代码就要复杂一些了,它需要额外分别提供两个版本的DAL模块和一个DAL接口,这种方式增加了代码的复杂度,但使用起来应该会安全一些。

    不知到各位怎么看待这个问题呢?

posted on 2005-10-20 15:32  dragonpro  阅读(2475)  评论(7编辑  收藏  举报

Free Web Counter