我正在开发一个 Silverlight 应用程序。它有一个允许用户添加新对象的视图。绑定到此视图的视图模型具有该对象类型的集合作为属性。viewmodel 的构造函数有一个函数,比如 GetData(),它调用 WCF 服务并从数据库中获取数据,它将获取的列表添加到该集合中。
通过 WCF 服务向数据库添加新对象后,需要再次调用 GetData 方法来刷新集合,因为需要在集合中拥有最新数据。
这个过程有点慢,因为每次添加任何内容时,都需要再次获取表中的全部数据。随着数据变得越来越大,并且可能需要连接多个表来获取数据,它可能会变得更慢。
我正在考虑将传递给服务的对象添加到数据库中,直接添加到 viewmodel 中的集合中。显然,只有在调用它的服务没有返回任何错误以确保它已成功添加到数据库时,我才会将此对象添加到集合中。这样我就可以收集最新的数据,而无需从数据库中获取它。
任何人都可以指出这种方法的任何缺点或可能失败的任何情况吗?另外,请建议是否有其他更好的方法来实现这一目标。