Windows Phone本機資料庫(SQLCE):8、DataContext(翻譯)

來源:互聯網
上載者:User

    一隻大菜鳥,最近要學習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,並且如何使用它們。請繼續關注接下來的文章。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.