一隻大菜鳥,最近要學習windows phone資料庫相關的知識,找到了一些比較簡短的教程進行學習,由於是英文的,順便給翻譯了。本身英語水平就不好,估計文中有不少錯誤,如果有不幸讀到的童鞋請保持對翻譯品質的質疑,多多指教。
這是原文地址:http://windowsphonegeek.com/tips/Windows-Phone-Mango-Local-Database%28SQL-CE%29-Introduction
本文如下:
我開始了一個新的系列——Windows Phone Mango本機資料庫(SQLCE)。為了讓你開始在Windows Phone Mango中使用資料庫,這一系列短篇文章將覆蓋所有你需要知道的知識點。這個系列包含以下內容:
Windows Phone Mango Local Database(SQL CE): Introduction
- Windows Phone Mango Local Database(SQL CE): Linq to SQL
- Windows Phone Mango Local Database(SQL CE): [Table] attribute
- Windows Phone Mango Local Database(SQL CE): [Column] attribute
- Windows Phone Mango Local Database(SQL CE): [Association] attribute
- Windows Phone Mango Local Database(SQL CE): [Index] attribute
- Windows Phone Mango Local Database(SQL CE): Database mapping
- Windows Phone Mango Local Database(SQL CE): DataContext
- Windows Phone Mango Local Database(SQL CE): Connection Strings
- Windows Phone Mango Local Database(SQL CE): Creating the Database
- Windows Phone Mango Local Database(SQL CE): Database Queries with LINQ
- Windows Phone Mango Local Database(SQL CE): How to Insert data
- Windows Phone Mango Local Database(SQL CE): How to Update data
- Windows Phone Mango Local Database(SQL CE): How to Delete data
這是這個系列中的第一篇文章,我將給出一個簡短的關於本機資料庫的介紹,除此之外還有在Windows Phone Mango的應用程式中開始使用SQLCE資料庫之前,你需要知道的內容。
1、什麼是本機資料庫?
首先,第一次說到windows phone mango,你現在可以在IsolatedStorage中儲存關係資料到本機資料庫。在windows phone中,所有應用程式都是相互“隔離”的,這意味著一個程式只能訪問它自己的IsolatedStorage,即一個資料庫只能應用於一個應用程式,並不能在幾個應用程式中共用。
windows phone中的本機資料庫是SQL Compact關於mango的一個實現。這是記憶體/嵌入式上的關聯式資料庫管理系統(RDB MS)。本機資料庫非常適用於有關係實體(related entities)的情境。例如:客戶和訂單。
下面的情境非常適合使用本機資料庫:1、較多的關係表/實體,包含含有適量的記錄(不大不小)2、少數包含大量的記錄或資料的表格3、本機快取的資料來自雲端運算 一個本機資料庫有以下優點:1、在資料庫中使用複雜查詢變得更加高效和快捷的能力2、允許資料在特定的時刻載入到記憶體中(這句話實在不懂得怎麼翻譯才好)3、可以做一些操作,比如:添加,移除,插入,刪除,所有的這些操作都是通過SQL Compact runtime進行高效地處理
為了在windows phone中使用本機資料庫,你需要注意下面步驟1、實現所有資料庫類:tables(表),columns(列),relations(關係),datacontext等2、在IsolatedStorage中建一個新的資料庫(.sdf)檔案(預設情況下,資料庫是空的)3、在IsolatedStorage中使用資料填充這個資料庫
在開始之前,你需要知道的關於SQL CE的8件事情1、LINQ TO SQL 被用作ORM引擎2、資料庫檔案儲存在IsolatedStorage3、LINQ常用作於查詢資料,不支援T-SQL4、不需要分配程式集以致增加應用程式的大小,對WindwosPhoneMango本機資料庫的支援是Framework的一部分。5、System.Data.Linq這一個程式集必須添加到項目中6、使用一個特殊格式的連接字串,比如這個例子:
"Data Source='isostore:/DIRECTORY/FILE.sdf'";7、windows phone mango這個版本使用代碼優先的方法來定義資料庫模式是首選的,即此時沒有視覺設計器來協助開發人員映射和配置他們用來處理資料庫的類(所以你必須自己寫下所有的類)。不過你可以使用一些工具,比如:使用SQLMetal來產生windows phone mango本機資料庫的類,http://windowsphonegeek.com/articles/Using-SqlMetal-to-generate-Windows-Phone-Mango-Local-Database-classes 8、最小要求:Visual Studio 2010 SP1 and Windows Phone 7.1 Mango Developer Tools 你也可以參考msdn文檔:http://msdn.microsoft.com/zh-cn/library/hh202860(v=vs.92).aspx 這就是“windows phone mango本機資料庫(sqlce)”系列文章的簡短介紹。請繼續關注接下去的文章。