Sterling数据库是一个NoSQL 面向对象的数据库产品,不仅可用于Silverlight for Desktop而且可用于Windows Phone上。最近在一个Windows Phone项目上选择了Sterling作为数据库,主要原因有二:1.支持Linq查询 2.功能全面
使用Sterling进行数据存取操作,可参考其User Guide, 在实际项目遇到了一些问题,几个注意事项如下:
1. 索引字段的值不能为null,否则保存时会遇到异常。这一点在User Guide中 Index一节中没有提到,CodePlex上的disussion中提到了一个解决方法:在Index定义时指定默认值。例如如下index_GroceryItem_Rating的定义
2. Save之后使用Flush,以免程序异常终止后导致数据库主键及索引的破坏 参见 User Guide 之 Save
3. Auto Identity - 实现自增主键,需要实现一个trigger
并在程序启动或激活时(Application_Launching与Application_Activated事件中)初始化
4.Caching的副作用。如果使用Query语句而不是Load语句获得对象,则获得对象是Cache的版本而不是数据库保存的版本,如果对Cache版本的修改还未通过Save操作提交,则Cache版本与数据库保存的版本是不一致的。不注意这一点可能会遇到一些意想不到的Bug。例如在一个page的view model使用如下Query语句加载了数据:
用户通过UI操作,修改了某些数据的值。page中有一个Save按钮和Cancel按钮,如果用户不想保存,选择取消,则对数据的修改没有提交。但是这时候Cache中的值已经改变。如果用户重新进入此page,再执行上面的Query语句,则得到的是Cache中的版本,这就与预期不符了。
解决方法是通过Load语句加载数据,保证每次加载的都是数据库中的版本:
分享到:
相关推荐
这是Sterling的项目,而面向对象的数据库Jeremy Likness的创建目的是为了在2000年初满足Silverlight和Windows Phone应用程序中对可查询的持久性存储的不断增长的需求。 该项目是从CodePlex迁移的。 您可以在阅读旧...
使用使用视图模型(MVVM)的Silverlight Sterling数据库的演示应用程序。
Sterling
Sterling image tool Sterling image tool Sterling image tool Sterling image tool
Chris Sterling (Author) Hardcover: 288 pages Publisher: Addison-Wesley Professional; 1 edition (December 20, 2010) Language: English ISBN-10: 0321554132 ISBN-13: 978-0321554130 Shipping ...
我学到的是数据记忆关注点分离的容器模式基于组件的文件架构用于管理副作用和异步操作的 Sagas 异步操作的 Thunks 使用 NodeJS 和 ExpressJS POST/GET 请求和管理后端条纹框架从数据库中创建、读取、更新和删除数据...
Mask for Windows - PRWin98 v4.00 November 1998 (c) Copyright Peter R. Jupp, 1994-98 ------------------------------------ --------------------- HOW TO VIEW THIS FILE --------------------- To view ...
High Performance Computing Modern Systems and Practices Thomas Sterling 2017
BPUtils是Sterling Integrator BP文件操作程序。 它具有以下功能:-XPath表达式控件:BPUtils检查BP文件中定义的XPath表达式是否正确-一致性控件:控制以正确的方式命名序列和on错误-自动布局格式设置:自动设置BP...
Raheem Sterling New Tab Extension使您的Chrome浏览器焕然一新。 安装Raheem Sterling New Tab,然后享受Raheem Sterling的精选高清图像。 它带有一些很酷的属性,这些属性可以改善您的“新标签页”体验,例如:-每...
贝岭的matlab的代码骗子 在 PostgreSQL 中创建假数据 用法 州、城市、邮编 select faker . state ...Sterling ...标签可以在faker.dictionary表中播种,这是一个可持续性示例 select faker . tags (); --
Sterling操作软件教程PPT教案.pptx
Sterling操作软件教程22PPT教案.pptx
这个名字的灵感来自《广告狂人》的虚构广告公司 Sterling Cooper。 安装 gem install sterling 配置 Sterling 旨在轻松放入 Rails 应用程序。 简单地创建一个初始化程序如下 Sterling . configure do | config | ...
克隆存储库$ git clone git@github.com:swirlycheetah/slack-brewbow.git 使用您想要包括在BrewBot决策中的人员列表运行节点进程,例如bin/slack-brewbot Sterling 'Cheryl Tunt' Lana 'Malory' 您可以使用-p或--...
美股交易 Sterling TITLE操作软件教程PPT学习教案.pptx
此小部件提供了一个按钮,可以与 Esri 的 Sterling Quinn 开发的一起使用。 源代码可以在下载。 用法 在您的 ArcGIS Server 实例上安装动态分段服务器对象扩展 将包含 M 个值的服务发布到您的 ArcGIS Server 并选择...
乘性误差模型参数估计及精度评定的Sterling插值方法.docx
ROM tool ROM tool ROM tool ROM tool ROM tool ROM tool ROM tool
MXL 插件是一个 Notepad++ 插件,可以打开 Notepad++ Sterling Integrator Mapper MXL 源文件。 该插件从 MXL 文件中提取扩展规则,并使用适当的语法突出显示将其打开到 NPP 中。 可以修改和保存扩展规则:MXL 文件...