WindowsPhone 8 開發 之 本地數據庫應用

微軟提供的有一個本地數據庫的例子 http://code.msdn.microsoft.com/wpapps/Local-Database-Sample-57b1614cweb

能夠進行參照。數據庫

裏邊最核心的就是DataContextapp

首先構造實體類spa

1  [Table]
2     public class Student
3     {
4         [Column]
5         public string Name { get; set; }
6     }

注意實體上要添加Table Attribute 以代表該實體映射到數據庫的一個表上。code

而後構造DataContextblog

 1     public class MyDbContext:DataContext
 2     {
 3 
 4         public MyDbContext(string connstr):base(connstr)
 5         {
 6  
 7         }
 8 
 9         //注意這裏是字段,而不是屬性
10         public Table<Student> Students;
11         
12     }

這裏邊必定要注意的是 Students是一個字段,而不是屬性,若是寫成了屬性,屬性值會爲null,具體爲何這麼寫,不太清楚。web上用慣了EF 這個地方是屬性,致使我這個地方最開始寫成了屬性,一直報錯,找了很久,才發現是這個地方的問題。接口

而後就是操做數據庫的代碼,使用的是Linq。get

 

 1         string constr = "Data Source=isostore:/mydb.sdf";
 2 
 3         private void InitData()
 4         {
 5             initAppConext();
 6 
 7             using (MyDbContext db=new MyDbContext(constr))
 8             {
 9                 students = db.Students.ToList();
10             }   
11         }
12 
13         private void initAppConext()
14         {
15             using (MyDbContext db = new MyDbContext(constr))
16             {
17                 if (db.DatabaseExists() == false)
18                 {
19                     db.CreateDatabase();
20                     db.Students.InsertOnSubmit(new Student { Name = "cjt" });
21                     db.Students.InsertOnSubmit(new Student { Name = "cjt2" });
22                     db.Students.InsertOnSubmit(new Student { Name = "cjt3" });
23                     db.Students.InsertOnSubmit(new Student { Name = "cjt4" });
24 
25                     db.SubmitChanges();
26                 }
27             }
28 
29         }

注意同EF同樣,有個提交SubmitChanges().string

至於顯示,就是寫上一個listbox,綁定ItemSource 屬性便可。it

 

另外,關於數據綁定有一些知識,會要求實體類實現INotifyPropertyChanged, INotifyPropertyChanging 兩個接口。這裏咱們不討論這個知識點,只對單純的最簡單的數據庫操做進行說明。

其實,目前我尚未太明白數據綁定那一塊。

相關文章
相關標籤/搜索