190 likes | 351 Views
Bazy Danych w Mango. Mateusz Mikulski mateusz@geekdev.pl. Agenda. Struktura danych w Windows Phone Lokalna Baza danych Alternatywy Podsumowanie. Struktura danych w Windows Phone. Folder Instalacji. NoDo : IsolatedStorageSettings Pliki aplikacji. Folder z danymi aplikacji.
E N D
Bazy Danych w Mango Mateusz Mikulski mateusz@geekdev.pl
Agenda • Struktura danych w Windows Phone • Lokalna Baza danych • Alternatywy • Podsumowanie
Struktura danych w Windows Phone Folder Instalacji • NoDo: • IsolatedStorageSettings • Pliki aplikacji Folder z danymi aplikacji Isolated Storage
Dane w NoDo IsolatedStorageSettings • Ustawienia Globalne aplikacji • Serializacja do XML Pliki aplikacji • Dowolny strumień danych • Serializacja do XML, binarna
Struktura danych w Windows Phone Folder Instalacji • NoDo: • Pliki konfiguracji • Pliki aplikacji Folder z danymi aplikacji • Mango: • Lokalna baza danych Isolated Storage
Agenda • Struktura danych w Windows Phone • Lokalna Baza danych • Tips & Tricks • Alternatywy • Podsumowanie
Lokalna baza danych • SQL CE 3.5 • Działanie jedynie wewnątrz procesu aplikacji • Transakcje obsługiwane automatycznie • Podejście Code First Development (nie pełne EF Code First 4.1) • Brak replikacji • LINQ 2 SQL
Linq 2 SQL – czego brakuje • ExecuteCommand • ADO.NET Objects (np. DataReader) • TylkoMicrosoft SQL Server Compact Edition (SQL CE) data types • Table.IListSource.GetListMethod • BinaryFormatter– wymagana implementacja CustomType • Skip() orazTake() wymagają uporządkowanej listy
Lokalna baza danych - JAK?! • Definicja encji w klasach • Pomocnicza aplikacja Windows Phone generująca plik bazy • Export bazy z ISO Storage • Skopiowanie pliku bazy (.sdf) do projektu (tylko read) • Tworzenie bazy zewnętrznie (oficjalnie nie wspierane) • Skopiowanie pliku bazy (.sdf) do projektu (tylko read) • Skopiowanie pliku bazy do ISO Storage
Demo Demo 1: Tworzenie bazy danych
Operacje CRUD • DataContext • Dodawanie • InsertOnSubmit • Aktualizacja • SubmitChanges • Usuwanie • DeleteAllOnSubmit • DeleteOnSubmit
Demo Demo 2: Operacje CRUD
Aktualizacja schematu • DatabaseSchemaUpdater • Tabele • Kolumny • Indeksy • Klucze obce • Wszystkie operacje są transakcyjne
Demo Demo 3: Aktualizacja schematu
Agenda • Struktura danych w Windows Phone • Lokalna Baza danych • Alternatywy • Podsumowanie
Alternatywy Przed Mango: • Many many of them In Mango world: • Project Sterling • http://sterling.codeplex.com/
Project Streling • NoSQL • Nieinwazyjna • Lekka (DLL poniżej 85 Kb) • Elastyczna (Linq to Objects) • Przenośna (Desktop/.NET frameworkserver/Silverlight/WP7 ) http://sterling.codeplex.com/
Podsumowanie • Działanie tylko w wątku aplikacji • Baza danych tylko w scenariuszach z dużymi ilościami danych relacyjnych • Aktualizacja – Proste scenariusze, inaczej handwork • Brak możliwości replikacji • Tylko LINQ 2 SQL
Dziękuję Mateusz Mikulski mateusz@geekdev.pl