C#与sqlserver开发问题

最近不停的在考虑C#读取数据性能问题
第一种使用ado拼接sql连接数据库
第二种使用ado调用存储过程
第三种使用entityframework加linq
第四种使用反射IList<T>

1.
从开发速度上面来看的话,entityframework加linq可以很容易实现数据库的读取,将大量的时间放在处理业务逻辑上面,但是问题是,数据库有限定,貌似必须是sqlserver2005或者更高的版本,另外你是熟练linq语法,性能如果说并发性,估计要崩,不过昨天试过1w6千条数据读取,速度不比ado慢多少。
2. 
开发速度排第二,dataset 反射Ilist<T> 没有做具体的实例,反射性能应该是比较差的,最近看到有人写的,打开官方编译好的dll有50%-70%的metadata数据。这个数据是就算你不用反射,他也会生成反射相关的数据。如果你使用反射,性能会更差。并不是相信大家的水准,个人觉得就大家写的那些垃圾代码,可能性能比反射更差,性能方面没有和entityframework去做比较
3. 开发速度排第三
ado拼接sql,没有什么好说,性能就这样,菜鸟写的话不如前2个
4.开发速度排第四
ado调用存储过程 ,性能最高,但是开发速度可以说非常的慢,你需要对t-sql非常了解,将业务逻辑封装proc中,反正我对这个写的并不是很多,觉得比较蛋疼,就是等于我要C#写一份,t-sql再写一份,性能最高,开发速度比较慢,要写2份,移植性差,如果你要换数据库,你懂的,各种内置函数你慢慢写吧

只是个人看法
只见树木,不见森林 

原文地址:https://www.cnblogs.com/myselfyourself/p/3992819.html