欢迎来到天天文库
浏览记录
ID:40236772
大小:1.68 MB
页数:25页
时间:2019-07-27
《windowsphone-本地数据库》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本地数据库主要内容开发平台最佳实践架构基本操作架构LINQtoEverything4LINQObjectsXMLSQLUserData7MangoOData复杂的数据库结构大量的关系和约束例如:购物单7个表100条记录5个外键5引用数据大量静态引用的数据例如:字典应用3个表一个表有50万条记录6WebService缓存从云端获取引用数据缓存到本地与特定用户的数据合并7CloudServiceWindowsPhoneServiceCacheUserData用户数据过滤联系人下个月过生日的人查询所有约会为会议找到一个合适的时间8数据库支持本地数据存储:概览应用程序将私有数据存储在独立存储中
2、应用程序字典中的设置和属性独立存储文件中的非结构化数据数据库文件中的结构化数据ApplicationSettingsFileAppCreates/ManagesfilesandsettingsApplicationFilesAppDataFolderCreatesrootfoldersandboxedtoAppPackageManagerAppRootFolderWP7IsolatedStorageAPIsInstallDBDatabasefileDBDatabaseFile(r/o)10架构.CallSystem.Linq.Queryable.Select(.CallSystem.L
3、inq.Queryable.Where(.Constant(Table(Wines)),'(.Lambda#Lambda1)),'(.Lambda#Lambda2)).Lambda#Lambda1(db.Wines$w){$w.Country==“USA"}.Lambda#Lambda2(w.Country$w){$w.Name}varquery=fromwindb.Wineswherew.Country==“USA"selectw.Name;selectNamefromWineswhereCountry=“USA”Microsoft.Phone.Data.InternalCoreAD
4、O.NET(System.Data)SQLCEADO.NETProvider(System.Data.SqlServerCe)SQLCEDB11开发流程设计创建对象模型:wines,varietals,vineyards,etc.装饰对象的属性可序列化运行创建DataContext引用到数据库转换对象模型到数据库文件提交API序列化变更到数据库升级为新特性创建新的对象使用升级API修改数据库VarietalsWinesVineyardsWineMakers12数据库创建:示例//定义数据上下文。publicpartialclassWineDataContext:DataContext
5、{publicTableWines;publicTableVineyards;publicWineDataContext(stringconnection):base(connection){}}//定义数据库表。[Table]publicclassWine{[Column(IsPrimaryKey=true]publicstringWineID{get;set;}[Column]publicstringName{get;set;}……}//通过连接字符串,由数据上下文创建数据库。DataContextdb=newWineDataContext("iso
6、store:/wineDB.sdf");if(!db.DatabaseExists())db.CreateDatabase();13查询:示例//通过连接字符串,由数据上下文创建数据库。DataContextdb=newWineDataContext("isostore:/wineDB.sdf");//查找符合条件的wines,并按照日期排序varq=fromwindb.Wineswherew.Varietal.Name==“Shiraz”&&w.IsAtHome==trueorderbyw.DateAcquiredselectw;14Insert/Update/DeleteDataC
7、ontext优先对应对DataContext所做的修改调用SubmitChanges()保存变更SubmitChangesLINQtoSQL确定变更设置并提交到数据库DBDataContextNameLittlePenguinVarietalPinotNoirAtHomeFalseNameLittlePenguinVarietalPinotNoirAtHomeTrueNameLittlePenguinVarietalPinotNoirAtHom
此文档下载收益归作者所有