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 两个接口。这里咱们不讨论这个知识点,只对单纯的最简单的数据库操做进行说明。

其实,目前我尚未太明白数据绑定那一块。

相关文章
相关标签/搜索