请教大神们哪种读取DB的方法比较高效呢
从两年前开始写程序到现在,我读取数据一直都是规规矩矩用SqlConnection,SqlCommand,SqlDataAdapter……
最近被告知这种方式太落伍了,太没效率了。我一直都在写用户量比较低的(1W以内),没感觉到这种低效方法带来的影响,请教各位,现在是用哪些方法,希望点醒一下,谢谢。
------解决方案--------------------他的意思可能是编码的效率太低了,而不是性能的效率,编码的效率现在一般都使用ORM框架,减少了数据库操作的Sql书写,VS里面自带了Linq (只对Sql server) 和Entity Framework(多种DB版本,跨DB)两种,你可以看看,我一般用EF,运行效率没Linq高,但可以跨DB,可以不用改代码进行数据库移植。
------解决方案--------------------被告知的时候就应该再告诉你怎么去做,比如从程序上理解,可能是通过sql取出数据以后,用缓存机制提高效率。
SqlConnection,SqlCommand,SqlDataAdapter 这种方式没什么落伍的吧。谁有更好的可以提,但一直通过SqlConnection去联接数据库。.net自己封装的东东,效果还不错。
------解决方案--------------------应该是指你程序的整体设计以及扩展能力相对落后,不是指操作数据库的效率
如果用你那个去写一个业务逻辑复杂的系统,出来后会有点惨不忍睹,放个一年让你自己去维护都会头大
------解决方案--------------------
说句不好听的,谁告知你这件事的人自己是不是个草包呢?关键在于:1 如何定义落伍的?2 软件开发跟落伍与否有关系吗?无论你是用“时髦”的ORM,还是憨厚的DataSet+DataAdapter,抑或是SqlCommand+IDataReader,这些都只是数据层的具体实现而已,跟上层接口一毛钱关系都没有。与其纠结于落伍与否,不如使用敏捷开发的方式去不断测试与重构。
------解决方案--------------------方法还是大致那些方法,可能她接触了一些新技术,新知识点,但在你那里没找到共鸣。
楼上说的Linq,EF我之前也了解过。感觉Linq这玩意是省了点代码,但我还是觉得数据集还是在数据库那边处理好些。
------解决方案--------------------个人觉得ADO.NET没那么快逝去,应该还能撑好长一段时间。
------解决方案--------------------ado.net是性能最高的方式,但基本是开发效率最低的方式。。。
其它方式都是基于ado.net的,只是对其进行了一下封装,最终与数据库进行交互时其实还是转化成了ado.net
------解决方案--------------------我想说你效率应该是指你的逻辑上的一次方法效率。 也可能是她只是为表现她自己而已。
真才实学,至少可以直接点拨你应该如何改进。不需要她说具体的。
只是泛泛的一说太过时,没有说服力。
不是我性别歧视,也不知道她从业多久。 女性的高级技术人才真的挺少。