减少从Silverlight应用程序到数据库的往返次数
本文关键字:数据库 Silverlight 应用程序 | 更新日期: 2023-09-27 18:06:54
我正在开发一个silverlight应用程序。它有一个视图,允许用户添加一个新的对象。绑定到此视图的视图模型将该对象类型的集合作为属性。视图模型的构造函数有一个函数,比如GetData(),它调用WCF服务并从数据库中获取数据,并将获取的列表添加到该集合中。
通过WCF Service向数据库添加新对象后,需要再次调用GetData方法来刷新集合,因为集合中必须有最新的数据。
这个过程有点慢,因为每次添加任何东西时,都需要再次从表中取出整个数据。当数据变得越来越大,并且可能需要连接多个表来获取数据时,它可能会变得更慢。
我正在考虑添加我传递给服务的对象,将其添加到数据库,直接到视图模型中的集合。显然,只有当调用该对象的服务没有返回任何错误时,我才会将该对象添加到集合中,以确保它已成功添加到DB中。这样我就可以有最新的数据收集,而不需要从数据库中获取它。
有谁能指出这种方法的缺点或者它可能失败的场景吗?此外,请建议是否有其他更好的方法来实现这一目标。
我经常让我的保存方法获取并返回保存的对象。这样,如果服务/数据库层修改了它(创建日期,ID等),您就会得到更改。此外,如果你想更新它,它不会认为它是"新的"。