local DB
LINQ (Language Integrated Query)
Objects
XML
SQL
User
Data
OData
Apps gravam dados no Isolated Storage
App Root
Folder
Install
Package
Manager
App
WP7 Isolated
Storage APIs
Cria folder raíz da App
Database
App Data
Folder
Cria/gerencia arquivos
e configurações
Configurações
da App
Database
Aplicação
Gerar via classe ou via ferramenta SQL
.SDF
C:\Temp
CMD DOS
SqlMetal
Cria .cs
Contexto e Classes
// Define o data context
public partial class TechEdDataContext : DataContext {
public Table<Palestra> Palestras;
public Table<Palestrante> Palestrantes;
public TechEdDataContext(string connection) : base(connection) { }
}
// Define as tabelas do banco
[Table]
public class Palestra {
[Column(IsPrimaryKey=true]
public string ID { get; set; }
[Column]
public string NomePalestra { get; set; }
……
}
// Cria o banco de dados no context usando a string de conexão
DataContext db = new TechEdDataContext("isostore:/techedDB.sdf");
if (!db.DatabaseExists()) db.CreateDatabase();
sqlmetal
c:\temp\TechEd2011.sdf
/code:"c:\temp\TechEd2011DataClasses.cs"
/language:csharp
/namespace:TechEd2011
/context:TechEd2011DataContext
/pluralize
Design
time
Run time
Table 1
Table 2
Table 3
Table 4
Wines
Varietals
PK
VarietalID
PK
WineID
FK2
FK1
Name
Description
RetailPrice
VarietalID
VineyardID
Name
Database
upgrade
Vineyards
PK
VineyardID
Name
Latitude
Longitude
Country
Winemaker
PK
WinemakerID
FirstName
LastName
// Cria o banco no data context
DataContext db = new
WineDataContext("isostore:/TechEdDB.sdf");
// Mostra todas as palestras que contém o texto WPH no
campo NomePalestra, ordenados por Data
var q = from p in db.Palestras
where p.NomePalestra.Contains(“WPH”
orderby p.Data
select p;
Código da app
Campo1
Dado1
Objeto1
Dado1
Campo2
Dado2
Objeto2
Dado2
Campo3
Dado3
Objeto3
Dado3
Insert
Palestra p = new Palestra
{
ID = “WPH401",
Nome = “Windows Phone Local
Database",
Descricao = “Venha conhecer
como usar DB no WP"
};
Update
Palestra atual =
(from p in db.Palestras
where p.ID == “WPH401"
select p).First();
p.Descricao = “Uso de DB no
WP7";
db.SubmitChanges();
db.Palestras.InsertOnSubmit(p);
db.SubmitChanges();
Delete
var excluir =
from p in db.Palestras
where p.Codigo.StartsWith(“WP”)
select p;
db.Palestras.DeleteAllOnSubmit
(excluir);
db.SubmitChanges();
Atenção as Foreign
keys relacionadas em
outras entidades
TechEdDataContext dc = new TechEdDataContext(App.connDB);
DatabaseSchemaUpdater dsu=dc.CreateDatabaseSchemaUpdater();
if (dsu.DatabaseSchemaVersion == 1)
{
dsu.AddColumn<Palestra>(“Qtde");
dsu.DatabaseSchemaVersion = 2;
dsu.Execute();
}
[email protected]
Get the free mobile app for your phone
http:/ / gettag.mobi
http://msdn.microsoft.com/pt-br
Não esqueça de
preencher sua avaliação
online
www.teched.com.br/avaliacao
Get the free mobile app for your phone
http:/ / gettag.mobi
Download

Acesso a base de dados (local DB) no WP 7 - Junior Galvão