日期:2014-05-17  浏览次数:20709 次

求教DbProviderFactory的问题
微软通过DbProviderFactory帮助我们实现数据库无关性编程,今天在用这个东西改以前的DbHelper类,突然发现几个地方都没有搞明白:
首先,DbHelper实例创建的时候会自动创建一个Connection私有对象,通过复用这个对象可以避免频繁创建Connection的时间和性能损耗(我是这么认为的,但我不确定通过DbProviderFactory.CreateConnection是不是直接从连接池拿,是不是不存在这方面的顾虑)
那么,在重写ExecuteReader的时候,由于流数据的特性,一般都是要读取完毕才关闭连接对象,那么,产生了一个钻牛角尖的问题,这个Helper实例如何实现线程安全....,比如一个线程正在读reader,另一个线程却要用这个connection去执行其他命令....这种情况不就.....,是否要自己实现连接池?O,MyGod
求各路英雄指教一二,我相信ADO.NET这么多年了,大家应该都非常熟悉了,请大家不吝赐教

------解决方案--------------------
这个周公写的数据库访问通用类,可以参考一下:http://blog.csdn.net/zhoufoxcn/article/details/6630524