Enviar búsqueda
Cargar
Silverlight(wp7) で ローカル db 使ってみよう
•
Descargar como PPTX, PDF
•
0 recomendaciones
•
1,313 vistas
O
Oda Shinsuke
Seguir
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 41
Descargar ahora
Recomendados
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
Yusuke Hirao
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
初めてのMongo db
初めてのMongo db
Ryuji Tamagawa
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
しくみ製作所
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
Toshihiro Nakamura
Introduction to MongoDB
Introduction to MongoDB
moai kids
MongoDBざっくり解説
MongoDBざっくり解説
知教 本間
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Naruhiko Ogasawara
Recomendados
JavaScriptユーティリティライブラリの紹介
JavaScriptユーティリティライブラリの紹介
Yusuke Hirao
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
ichirin2501
初めてのMongo db
初めてのMongo db
Ryuji Tamagawa
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
しくみ製作所
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
Toshihiro Nakamura
Introduction to MongoDB
Introduction to MongoDB
moai kids
MongoDBざっくり解説
MongoDBざっくり解説
知教 本間
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Naruhiko Ogasawara
Mongo db勉強会の補足
Mongo db勉強会の補足
CROOZ, inc.
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
MongoDB
MongoDB
あしたのオープンソース研究所
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
ippei_suzuki
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
Ryuji Tamagawa
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
モテる JavaScript
モテる JavaScript
Osamu Monoe
リソースモデリングパターンの提案 #sendagayarb
リソースモデリングパターンの提案 #sendagayarb
Toru Kawamura
リーダブルコード勉強会
リーダブルコード勉強会
norimatsu2012
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Kengo Toda
JavaScriptことはじめ
JavaScriptことはじめ
Yuki Ishikawa
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
Hiroaki Kubota
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
JavaScript超入門 基礎
JavaScript超入門 基礎
tetsu6
JavaScript入門-基礎編
JavaScript入門-基礎編
mactkg
Scalaでプログラムを作りました
Scalaでプログラムを作りました
Tomoharu ASAMI
FMDBの利用方法
FMDBの利用方法
uske7i
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
naka hide
Más contenido relacionado
La actualidad más candente
Mongo db勉強会の補足
Mongo db勉強会の補足
CROOZ, inc.
Mongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
Tetsutaro Watanabe
MongoDB
MongoDB
あしたのオープンソース研究所
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
Naruhiko Ogasawara
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
ippei_suzuki
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
Ryuji Tamagawa
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
kwatch
モテる JavaScript
モテる JavaScript
Osamu Monoe
リソースモデリングパターンの提案 #sendagayarb
リソースモデリングパターンの提案 #sendagayarb
Toru Kawamura
リーダブルコード勉強会
リーダブルコード勉強会
norimatsu2012
JVMの中身を可視化してみた
JVMの中身を可視化してみた
Kengo Toda
JavaScriptことはじめ
JavaScriptことはじめ
Yuki Ishikawa
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
Hiroaki Kubota
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
JavaScript超入門 基礎
JavaScript超入門 基礎
tetsu6
JavaScript入門-基礎編
JavaScript入門-基礎編
mactkg
Scalaでプログラムを作りました
Scalaでプログラムを作りました
Tomoharu ASAMI
La actualidad más candente
(20)
Mongo db勉強会の補足
Mongo db勉強会の補足
Mongo dbを知ろう
Mongo dbを知ろう
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
MongoDB
MongoDB
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
日本語:Mongo dbに於けるシャーディングについて
日本語:Mongo dbに於けるシャーディングについて
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
RDB経験者に送るMongoDBの勘所(db tech showcase tokyo 2013)
O/Rマッパーによるトラブルを未然に防ぐ
O/Rマッパーによるトラブルを未然に防ぐ
モテる JavaScript
モテる JavaScript
リソースモデリングパターンの提案 #sendagayarb
リソースモデリングパターンの提案 #sendagayarb
リーダブルコード勉強会
リーダブルコード勉強会
JVMの中身を可視化してみた
JVMの中身を可視化してみた
JavaScriptことはじめ
JavaScriptことはじめ
DB tech showcase: 噂のMongoDBその用途は?
DB tech showcase: 噂のMongoDBその用途は?
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JavaScript超入門 基礎
JavaScript超入門 基礎
JavaScript入門-基礎編
JavaScript入門-基礎編
Scalaでプログラムを作りました
Scalaでプログラムを作りました
Similar a Silverlight(wp7) で ローカル db 使ってみよう
FMDBの利用方法
FMDBの利用方法
uske7i
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
naka hide
Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介
Oda Shinsuke
SQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話し
Insight Technology, Inc.
play framework 勉強会 in 関西
play framework 勉強会 in 関西
Shinichi Kozake
Getting started MySQL as Document Data Store
Getting started MySQL as Document Data Store
Chihiro Ito
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
Shinsuke Sugaya
20130203 oss-db-lpi
20130203 oss-db-lpi
Shinichi Matsuda
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
Kazuko Itoda
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Kazumi IWANAGA
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
Yasuhito Yabe
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
動的なILの生成と編集
動的なILの生成と編集
terurou
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
Sotaro Kimura
Sql database でも使えるほにゃらら
Sql database でも使えるほにゃらら
Oda Shinsuke
RFC8528(YANG Schema Mount)の勉強資料
RFC8528(YANG Schema Mount)の勉強資料
Tetsuya Hasegawa
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Yuto Suzuki
Sbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
Yoshitaka Fujii
TypeScriptをオススメする理由
TypeScriptをオススメする理由
Yusuke Naka
Google Gears データベースの基礎
Google Gears データベースの基礎
webos-goodies
Similar a Silverlight(wp7) で ローカル db 使ってみよう
(20)
FMDBの利用方法
FMDBの利用方法
COBOL技術者のためのJava勉強会
COBOL技術者のためのJava勉強会
Sql server2014復習とsqlserver2016の紹介
Sql server2014復習とsqlserver2016の紹介
SQL Server/SQL Database の新機能のお話し
SQL Server/SQL Database の新機能のお話し
play framework 勉強会 in 関西
play framework 勉強会 in 関西
Getting started MySQL as Document Data Store
Getting started MySQL as Document Data Store
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
LastaFluteに移行したFessとElasticsearch+ESFluteによるDBFlute環境
20130203 oss-db-lpi
20130203 oss-db-lpi
20130203 OSS-DB Exam Silver 技術解説無料セミナー
20130203 OSS-DB Exam Silver 技術解説無料セミナー
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
「html5 boilerplate」から考える、これからのマークアップ
「html5 boilerplate」から考える、これからのマークアップ
PHP基礎勉強会
PHP基礎勉強会
動的なILの生成と編集
動的なILの生成と編集
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
スキーマ 付き 分散ストリーム処理 を実行可能な FlinkSQLClient の紹介
Sql database でも使えるほにゃらら
Sql database でも使えるほにゃらら
RFC8528(YANG Schema Mount)の勉強資料
RFC8528(YANG Schema Mount)の勉強資料
【LT】 怖くない恐怖のScala.js
【LT】 怖くない恐怖のScala.js
Sbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
TypeScriptをオススメする理由
TypeScriptをオススメする理由
Google Gears データベースの基礎
Google Gears データベースの基礎
Más de Oda Shinsuke
SQL Server2022_PSPoptimization_pub.pdf
SQL Server2022_PSPoptimization_pub.pdf
Oda Shinsuke
What's hyperscale
What's hyperscale
Oda Shinsuke
Dot net+sql server tips
Dot net+sql server tips
Oda Shinsuke
Sql server 2019 ざっくり紹介
Sql server 2019 ざっくり紹介
Oda Shinsuke
Spark on sql server?
Spark on sql server?
Oda Shinsuke
SQL Server のロック概要
SQL Server のロック概要
Oda Shinsuke
Blazor 触ってみた
Blazor 触ってみた
Oda Shinsuke
Linux + PHP でも SQL Server
Linux + PHP でも SQL Server
Oda Shinsuke
グラフデータベースの話し
グラフデータベースの話し
Oda Shinsuke
Sql server 2017 新機能のご紹介
Sql server 2017 新機能のご紹介
Oda Shinsuke
Sql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベース
Oda Shinsuke
Transaction scopeまだダメ
Transaction scopeまだダメ
Oda Shinsuke
Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!
Oda Shinsuke
2016年を振り返って
2016年を振り返って
Oda Shinsuke
Sql world とは
Sql world とは
Oda Shinsuke
開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り
Oda Shinsuke
Sql world とは
Sql world とは
Oda Shinsuke
Ms build 触ってみよう
Ms build 触ってみよう
Oda Shinsuke
Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介
Oda Shinsuke
Selenium 触ってみよう
Selenium 触ってみよう
Oda Shinsuke
Más de Oda Shinsuke
(20)
SQL Server2022_PSPoptimization_pub.pdf
SQL Server2022_PSPoptimization_pub.pdf
What's hyperscale
What's hyperscale
Dot net+sql server tips
Dot net+sql server tips
Sql server 2019 ざっくり紹介
Sql server 2019 ざっくり紹介
Spark on sql server?
Spark on sql server?
SQL Server のロック概要
SQL Server のロック概要
Blazor 触ってみた
Blazor 触ってみた
Linux + PHP でも SQL Server
Linux + PHP でも SQL Server
グラフデータベースの話し
グラフデータベースの話し
Sql server 2017 新機能のご紹介
Sql server 2017 新機能のご紹介
Sql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベース
Transaction scopeまだダメ
Transaction scopeまだダメ
Sql serverと他dbの違いを押さえよう!
Sql serverと他dbの違いを押さえよう!
2016年を振り返って
2016年を振り返って
Sql world とは
Sql world とは
開発者の方向けの Sql server(db) t sql 振り返り
開発者の方向けの Sql server(db) t sql 振り返り
Sql world とは
Sql world とは
Ms build 触ってみよう
Ms build 触ってみよう
Sql server sql database 最新機能紹介
Sql server sql database 最新機能紹介
Selenium 触ってみよう
Selenium 触ってみよう
Silverlight(wp7) で ローカル db 使ってみよう
1.
Silverlight(WP7)でローカルDB使ってみよう Sterling OODB
の紹介 Silverlight/Phone Quest I 2011/08/27 お だ
2.
3.
大阪で開発者してます
4.
MS 系の情報を追っかけてます。
5.
SQL World 代表
6.
JGGUG でも活動してます。
7.
http://d.hatena.ne.jp/odashinsuke
8.
9.
Sterling OODBの紹介
10.
Sterling OODB を使ってみる
11.
12.
Sterling OODBの紹介
13.
Sterling OODB を使ってみる
14.
15.
Mango から使えるようになる
16.
WP7.0 ではダメ!
17.
Silverlight
18.
通常は使えない
19.
OOB + COMで使える
20.
Silverlight COM Toolkit
を使った例http://erikej.blogspot.com/2010/02/access-local-sql-compact-database-from.html
21.
22.
23.
24.
Sterling OODBの紹介
25.
Sterling OODB を使ってみる
26.
27.
28.
29.
ダーティサポート(ダーティリード?)
30.
複数のドライバをサポート
31.
メモリ
32.
ローカルファイルシステム
33.
分離ストレージ
34.
暗号化/複合のサポート
35.
36.
IList, IDictionary, Arrays
のサポート
37.
WriteableBitmapsのサポート
38.
Interface, abstract properties
もシリアライズ対象
39.
KEY は色んな型をサポート (複合キーも)
40.
41.
Nullable<T> のサポート
42.
Enumの自動変換サポート
43.
44.
45.
Sterling OODBの紹介
46.
Sterling OODB を使ってみる
47.
48.
Express for Windows
Phone の方は、ダウンロード後に、参照の追加からhttp://nuget.org/List/Packages/Sterling http://nuget.org/List/Packages/SterlingPhone
49.
50.
使える型は?
51.
他の型を使いたい場合は?
52.
53.
readonly(setter が private)、static、SterlingIgnoreAttribute
が付与された物は除く
54.
readonlyフィールドは、読み込む時に例外が出るので、SterlingIgnore属性を付与すること。
55.
ネストしたクラスもOKpublicclassFoo { publicint
Id { get; set; } publicBar Instance { get; set; } }
56.
57.
保存したいクラス内に Array や
List のフィールド/プロパティ が居ても OK
58.
59.
60.
RegisterTablesメソッドを override
61.
62.
キーは必須(一意になる必要がある)
63.
64.
using System; usingWintellect.Sterling.Database;
usingSystem.Collections.Generic; publicclassDatabase : BaseDatabaseInstance{ publicconststringタイトルIndex = "IX_タイトル"; publicconststringハード発売日Index = "IX_ハード発売日"; protectedoverrideList<ITableDefinition> RegisterTables() { returnnewList<ITableDefinition>() { CreateTableDefinition<ハード, string>(e => e.名前), CreateTableDefinition<ゲームソフト, int>(e => e.Id) .WithIndex<ゲームソフト, string, int>( タイトルIndex, e => e.タイトル) .WithIndex<ゲームソフト, string, DateTime, int>( ハード発売日Index, e => newTuple<string, DateTime>(e.ハード, e.発売日) ), }; } }
65.
66.
67.
永続化するクラスを一意に識別する
68.
キーはメモリ上に持つ
69.
使える型が決まっているプリミティブな型(string, int等), GUID
他の型を使いたい場合は、カスタムシリアライザーを実装する キーの型は、Equalable/Comparable であり、HashCodeを適切に実装している必要がある
70.
71.
72.
73.
IsolatedStorageDriverを渡すこと!
74.
渡さない場合、永続化先が メモリになる。using (var
engine = newSterlingEngine()) { engine.Activate(); vardatabase = engine.SterlingDatabase .RegisterDatabase<Database>(newIsolatedStorageDriver()); // 以降 database インスタンス を使って、CRUD 可能 }
75.
76.
データベースの登録/インスタンスの管理
77.
カスタムシリアライザーの登録
78.
ロガーの登録
79.
バックアップ/リストアengine.SterlingDatabase.RegisterLogger((lv, msg, ex)
=> { Debug.WriteLine(lv + msg); });
80.
81.
IApplicationService
82.
IApplicationLifetimeAwareを実装したクラスで、SterlingEngineを管理し、SL/WP7 の Application
クラスの ApplicationLifetimeObjectsに設定する
83.
データベースを生成する(おまけ) <Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="SilverlightApplication3.App" xmlns:database="clr-namespace:SilverlightApplication3.Database"> <Application.ApplicationLifetimeObjects> <database:SterlingService /> </Application.ApplicationLifetimeObjects> <Application.Resources> </Application.Resources> </Application> アプリケーション の起動 – 終了でインスタンスを 管理できる
84.
85.
Save 後は Flush
推奨
86.
Flush を呼ばなくても、シャットダウン時に書き込まれるがアプリケーションが突然停止した場合等は、書き込まれないので適宜 Flush
を呼ぼう!
87.
件数が多い時用に、非同期もサポート
88.
BackgroundWorkerSaveAsync(IList<Model>)database.Save<ハード>(newハード() {
名前 = "DS", 価格 = 18000 });
89.
90.
読み込みをキャッシュしない
91.
Query は、キーやインデックスでフィルタリングが出来る
92.
実際の値は、遅延ロード(Lazy<T>)される
93.
キーやインデックスは Lazy ではない!
94.
カバリングインデックスが効く
95.
キャッシュします
96.
同一参照なので注意が必要!
97.
98.
99.
Truncate は、指定したクラスのデータを全部削除
100.
Purge は、データベースに定義したクラスのデータを全部削除database.Delete<ハード>(instance); database.Delete(typeof(ハード),
key); database.Truncate(typeof(ハード)); database.Purge();
101.
102.
publicclassゲームソフト { publicint
Id { get; set; } … [SterlingIgnore] publicbool Changes { get; set; } } publicclassTrigger : BaseSterlingTrigger<ゲームソフト, int> { privateint _nextId; publicTrigger(intmaxId) { _nextId= maxId; } publicoverrideboolBeforeSave(ゲームソフトinstance) { if(instance.Id == 0) instance.Id= ++_nextId; returntrue; } publicoverridevoidAfterSave(ゲームソフトinstance) { instance.Changes= false; } publicoverrideboolBeforeDelete(int key) { returnfalse; // ゲームソフトは削除出来ない } }
103.
using(var engine =
newSterlingEngine()) { engine.Activate(); var database = engine.SterlingDatabase .RegisterDatabase<Database>(newIsolatedStorageDriver()); varmaxId = database.Query<ゲームソフト, int>().Any() ? database.Query<ゲームソフト, int>().Max(e => e.Key) : 0; database.RegisterTrigger(newTrigger(maxId)); // 以降 database インスタンス を使って、CRUD 可能 } データベース登録後に、 トリガーも登録する
104.
105.
106.
シリアライズ
107.
ロギング
108.
テクニック
109.
ネストしたクラスの解析
110.
シングルトンインスタンスの管理
111.
WP7 の Tombstone
対策
112.
基本型のテーブルに派生型を渡す
113.
ロールバック
114.
Nullableな キー/インデックス
115.
116.
Sterling OODBの紹介
117.
Sterling OODB を使ってみる
118.
119.
SL/WP7 で同じコードが使えそう
120.
基本的な機能は揃っているトランザクション?SL/WP7 のローカルDBで同時実行とか考慮する? 日本語の情報が少ないので、
発信しよう!
121.
参考資料 CodePlex http://sterling.codeplex.com/
Sterling User’s Guide http://www.sterlingdatabase.com/home MSDN Magagine 2011 June Windows Phone 7 の分離ストレージ用の Sterling http://msdn.microsoft.com/ja-jp/magazine/hh205658.aspx
Descargar ahora