一隻大菜鳥,最近要學習windows phone資料庫相關的知識,找到了一些比較簡短的教程進行學習,由於是英文的,順便給翻譯了。本身英語水平就不好,估計文中有不少錯誤,如果有不幸讀到的童鞋請保持對翻譯品質的質疑,多多指教。
這是原文地址:http://windowsphonegeek.com/tips/Windows-Phone-Mango-Local-Database-SQL-CE--DataContext
本文如下:
這是“windows phone mango本機資料庫(sqlce)”系列短片文章的第八篇。 為了讓你開始在Windows Phone Mango中使用資料庫,這一系列短片文章將覆蓋所有你需要知道的知識點。我將談談在windows phone mango本機資料庫中使用DataContext的問題。
1、DataContext是什麼DataContext的用途是以物件導向的方式來顯示資料庫到其餘的代碼上。DataContext有三個重要的特點:(1)它從System.Data.Linq.DataContext繼承類(2)DataContext建構函式必須調用base(connectionString) 建構函式(基類建構函式)(3)DataContext通過類型Table<TEntity>(例:Table<City>)的屬性來顯示資料庫上的表。這個表類實現IQueriable<TEntity>,並且讓你能夠編寫LINQ查詢來查詢資料庫。 2、怎麼建立DataContext為了建立一個本機資料庫,首先你必須定義DataContext和實體類。這些類定義了資料的物件模型和資料庫模式之間的映射。LINQ to SQL的對象關係能力取決於映射的詳細資料,映射的詳細資料是為了建立一個關聯式資料庫映射到對應的DataContext。
參考:你可以看下MSDN的文檔:http://msdn.microsoft.com/zh-cn/library/hh202860(v=vs.92).aspx樣本:
1 public class CountryDataContext : DataContext 2 { 3 public CountryDataContext(string connectionString) 4 : base(connectionString) 5 { 6 } 7 8 public Table<Country> Countries 9 {10 get11 {12 return this.GetTable<Country>();13 }14 }15 16 public Table<City> Cities17 {18 get19 {20 return this.GetTable<City>();21 }22 }23 }
3、怎麼使用DataContext檢查資料庫是否存在非常重要,如果不存在,你必須建立它。看樣本:
1 public MainPage() 2 { 3 InitializeComponent(); 4 5 using (CountryDataContext context = new CountryDataContext(ConnectionString)) 6 { 7 8 if (!context.DatabaseExists()) 9 {10 // create database if it does not exist11 context.CreateDatabase();12 }13 }14 }
現在你有context,並且資料庫已經建立好了。你可以像樣本裡那樣查詢:
1 var query = from c in context.City where p.Name ="London" select p;
這篇文章我討論了在windows phone mango 本機資料庫中的DataContext,並且如何使用它們。請繼續關注接下來的文章。