这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十二篇。 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知识点。我将谈谈在windows phone mango本地数据库里怎么插入数据。
插入数据到数据库是一个两个步骤的过程。首先使用InsertOnSubmit 方法添加一个对象到DataContext,然后调用DataContext的SubmitChanges 方法来将保存数据作为数据库中的行。
注释:直到SubmitChanges调用后数据才真正保存到数据库中。
1、怎么插入数据
在开始之前,假设我们有下面两张表的数据库结构:Country和City
1 [Table]
2 public class Country
3 {
4 //...
5 }
6
7
8 [Table]
9 public class City
10 {
11 //...
12 }
DataContext如下所示:
1 public class CountryDataContext : DataContext
2 {
3 public CountryDataContext(string connectionString)
4 : base(connectionString)
5 {
6 }
7
8 public Table<Country> Countries
9 {
10 get
11 {
12 return this.GetTable<Country>();
13 }
14 }
15
16 public Table<City> Cities
17 {
18 get
19 {
20 return this.GetTable<City>();
21 }
22 }
23 }
在下面的代码示例中,我们将演示这个过程,解释上面的被装箱以及插入两个新的关系对象(city和country)到数据库中。首先,我们创建一个新的country实例,然后添加到context中(使用InsertOnSubmit 方法)。接下来,我们创建一个city实例,分配到我们刚创建的country实例,然后添加到context中。最后,我们调用SubmitChanges 方法保存这些变化到数据库中。
1 private void AddCity()
2 {
3 using (CountryDataContext context = new CountryDataContext(ConnectionString))
4 {
5 // create a new country instance
6 Country country = new Country();
7 country.Name = "Spain";
8 // add the new country to the context
9 context.Countries.InsertOnSubmit(country);
10
11 // create a new city instance
12 City city = new City();
13 city.Name = "Barcelona";
14 // assing country
15 city.Country = country;
16 // add the new city to the context
17 context.Cities.InsertOnSubmit(city);
18
19 // save changes to the database
20 context.SubmitChanges();
21 }
22 }
这篇文章我谈论了在windows phone mango本地数据库插入数据。请继续关注接下来的文章。