首页 新闻 会员 周边

respository查询的性能问题

0
悬赏园豆:50 [已解决问题] 解决于 2015-04-03 15:43

在respository中定义的方法返回的一定是某个领域实体的类型吗?例如Product类型或IEnumerable<Product>。如果是的话,那我如果只想得到实体类中的某几项却得到了所有项,会不会造成浪费?例如我只需要Product中的Id和Name,却将其他数据如Price,Genre一起查询返回了

cgs的主页 cgs | 初学一级 | 园豆:132
提问于:2015-04-03 15:00
< >
分享
最佳答案
0

1、是。

2、你可以自己定义一个新的实体,只有ID和Name。这样就不会浪费了。

收获园豆:50
爱编程的大叔 | 高人七级 |园豆:30839 | 2015-04-03 15:12

那我岂不是要对每个不同的查询建立实体以及相应的respositiry,而且对这些新实体的修改操作如何同步到原Product中呢

cgs | 园豆:132 (初学一级) | 2015-04-03 15:23

@cgs: 这是另外的问题了。

每个模式的使用都会有不同的优缺点和局限性,不同领域的应用和不同级别的开发使用不同的模式开发。

你不会想着天天吃庆丰包子,有钱了就是一天吃两千个吧。

关键是看应用规模和场景。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-04-03 15:42

@爱编程的大叔: 那您有什么好的建议呢,我目前的想法是把查询单独出来,定义一个queryservice直接根据viewmodel进行数据库的查询。

cgs | 园豆:132 (初学一级) | 2015-04-03 15:46
其他回答(1)
0

1.数据库选择字段都是以页面为单位,就算你只用2个字段,也是整个页面读取到内存的,性能没有影响

2.读取出的数据通过网络返回,网络都是以数据包的形式发送,多几个字段基本没有什么大的影响。除非你的表记录很多很多,但是这时可能就要考虑分表了。

所以一般来说对于普通管理信息系统应用,不用考虑字段多少影响性能的问题,程序还是以简单、清晰为主,不引入不必要的“实体”或者DTO。

James-yu | 园豆:401 (菜鸟二级) | 2015-04-08 14:43

谢谢

支持(0) 反对(0) cgs | 园豆:132 (初学一级) | 2015-04-08 14:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册