首页 新闻 会员 周边 捐助

请问每次向数据库添加一条数据,都要重新读取数据吗?

0
悬赏园豆:5 [已解决问题] 解决于 2014-11-12 19:29

RT 每次添加数据都要写一段重新读取数据库的代码 感觉这个方法好笨

请问有没有其它什么方法呢?或者自带的方法

狂扁小朋友的主页 狂扁小朋友 | 初学一级 | 园豆:10
提问于:2014-11-10 22:10
< >
分享
最佳答案
1

这个问题里面包含了逻辑悖论,自相矛盾的需求,又要马儿跑,又要马儿不吃草。

之前已经有人问过了。

1、不止是新增、其实编辑、删除,都会有类似的问题。

2、列表可能存在分页、排序,不再读一次数据库的话,变成要在前台搞一大堆事情,基本属于吃饭了撑着没事干不如上网买买买、败败家清空购物车还节省一点的。

3、如果不希望自动刷新,可以考虑在前台放一个刷新按钮,然后告诉用户,这是不会自动刷新的,你有需要,麻烦自己按一下按钮,谢谢!

4、如果数据库不是那么忙,刷新重新取一下数据库其实问题不大的,起码100个以内用户时,升级硬件所需要花的钱远远小于你去花时间自己用JAVASCRIPT整一个按需调整的成本来得低很多。

收获园豆:5
爱编程的大叔 | 高人七级 |园豆:30844 | 2014-11-11 12:00

大神意思是说如果数据量不是很大的情况下 可以实现自动更新 如果数据量大了 就要写逻辑访问了更新了?

狂扁小朋友 | 园豆:10 (初学一级) | 2014-11-11 21:36

@狂扁小朋友:  数据量大了,就不是你考虑的事了。

比如银行,他们不存在列表这种东西,请输入帐号,不对的话,你啥都看不到,还想看帐号列表,

门都没有。

爱编程的大叔 | 园豆:30844 (高人七级) | 2014-11-12 09:30
其他回答(2)
0

你可以把你查询出来的结果用一个list或其他结构保存起来,当你添加数据记录A(此时无id)后,获取记录A在数据库中生成的id,然后A.ID=id,再把记录A添加到list中就可以了啊、、

Raysonxin | 园豆:13 (初学一级) | 2014-11-10 23:40
0

为什么要写重新读取数据库的数据的代码呢?

EF中 submit changes之后,数据会直接同步到原来的 entity 里面啊

还是你每次添加完后 需要刷新列表?

你可以不刷新的,直接把entity返回,然后添加到list最后面。

南昌炒粉 | 园豆:760 (小虾三级) | 2014-11-11 01:38

每次添加修改删除 都需要刷新列表  我用的是Adapter.Update()方法 是自动更新的

但是刷新数据源 就需要重新读取了

支持(0) 反对(0) 狂扁小朋友 | 园豆:10 (初学一级) | 2014-11-11 09:02

@狂扁小朋友: 刷新数据源。。。你可以学习一下MVVM,可以只更新其中一条数据的。

支持(0) 反对(0) 南昌炒粉 | 园豆:760 (小虾三级) | 2014-11-11 10:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册