一隻大菜鳥,最近要學習windows phone資料庫相關的知識,找到了一些比較簡短的教程進行學習,由於是英文的,順便給翻譯了。本身英語水平就不好,估計文中有不少錯誤,如果有不幸讀到的童鞋請保持對翻譯品質的質疑,多多指教。
這是原文地址:http://windowsphonegeek.com/tips/Windows-Phone-Mango-Local-Database-SQL-CE--Linq-to-SQL
本文如下:
這是“windows phone mango本機資料庫(sqlce)”系列短片文章的第二篇。 為了讓你開始在Windows Phone Mango中使用資料庫,這一系列短片文章將覆蓋所有你需要知道的知識點。我將談談在windows phone mango中使用本機資料庫時有關的linq to sql。
這個系列包括以下其他部分:
- 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 7.1上基本的資料庫功能是SQL Compact關於Mango的一個實現,使用linq to sql訪問儲存在資料庫上的資料。 1、LINQ to SQL是什麼
LINQ to SQL 是一個作為.NET Framework上的一部分的ORM(對象關係映射)架構。它允許你映射你的業務對象(business object)(模型類)到資料庫中的表,然後可以不用寫單一的SQL語句來訪問或查詢資料庫中的資料。隨著Mango的更新,LINQ to SQL現在可以用於Windows Phone。
你可以使用LINQ to SQL: 1、映射你的業務對象(business object)到資料庫中的表 2、使用LINQ查詢資料庫 3、使用LINQ to SQL的API插入資料到資料庫中 4、使用LINQ to SQL的API更新資料 5、使用LINQ to SQL的API刪除資料 雖然windows phone 支援LINQ to SQL的大部分特性,但是它也有一些局限性。你可以看一下完整的MSDN文檔http://msdn.microsoft.com/zh-cn/library/hh202872(v=vs.92).aspx。下面給出其中的一些: 1、不支援ExecuteCommand :Windows Phone 不支援執行原始 Transact-SQL、資料定義語言 (Data Definition Language) (DDL) 或資料建模語言 (DML) 語句。 2、不支援ADO.NET(例如DataReader):LINQ to SQL查詢的所有資料都將在DataContext指定的類型集合中返回 3、僅支援Microsoft SQL Server Compact Edition (SQL CE)資料類型:SQLCE是本機資料庫的基礎資料庫技術。有關SQLCE資料類型的完整列表請看:http://msdn.microsoft.com/zh-cn/library/ms172424(v=sql.110).aspx
4、不支援Table.IListSource.GetList :若要綁定到表中的所有內容,請查詢整個表並綁定到查詢。使用商務邏輯處理插入和刪除。 5、不支援BinaryFormatter(二進位類型):若要將自訂類型轉換為SQL Server Binary或VarBinary資料類型,您的資料內容屬性可以實現LINQ to SQL CustomType,或者可以為byte[]或System.Data.Linq.Binary 類型。若要實現 LINQ to SQL CustomType,請首先建立實現 ToString() 和 Parse() 的自訂類,然後將該類用作您資料內容中的屬性。LINQ to SQL 可從 CustomType 映射到任何 SQL Server 字串類型,例如,Char、NChar、NVarChar、Text 和 XML。 6、Take() 在LINQ查詢中需要使用常數值:SQL CE 不支援在 Transact-SQL TOP 會話中使用查詢值。如果您要在 Take 方法中使用變數值,請在未使用 Take 方法的其他查詢中計算該值。 7、Skip()和Take()需要使用排序列表:這些方法依賴於排序返回一致的結果。2、它是怎麼工作的
簡單地說,LINQ是一組擴充方法,讓你可以在C#或VB中使用特殊的查詢文法來查詢資料庫中的資料。為了表示查詢而使用標準的LINQ查詢運算子,基本的查詢文法是一個方便的陳述性的簡寫。在你開始之前,你需要瞭解一些基本的東西:
1、LINQ to SQL 查詢運算式通常以“from”子句開始,以“select”子句結束 2、“from”子句表示你想要查詢的資料(通常你從collection/datacontext中查詢資料) 3、“select”子句表示你想要返回的資料,並且它應該是什麼樣的格式 4、每當你想要過濾資料時你可以使用“where”子句 5、通過“orderby”子句對資料進行排列
注釋:LINQ to SQL在資料庫層完成所有的過濾和排序,這讓它變得非常高效。為此,你可以在C#代碼中編寫LINQ查詢,它會自動翻譯成SQL,然後SQL runtime會執行語句,所以當你執行下面的LINQ 查詢
1 var query = from p in context.Persons where p.Age > 18 select p;
在實際執行之前,LINQ to SQL runtime會自動將它翻譯成下面的SQL查詢
1 SELECT [t0].[ID], [t0].[FirstName], [t0].[LastName], [t0].[Age] 2 FROM [dbo].[People] AS [t0] 3 WHERE [t0].[Age] > @p0
注釋:關於更多的關於完整的LINQ文法你可以看一下官方文檔:http://msdn.microsoft.com/zh-cn/library/bb308959.aspx
這篇文章我談了有關在windows phone mango本機資料庫中使用LINQ to SQL。請繼續關注接下來的文章。
這是原文地址:http://windowsphonegeek.com/tips/Windows-Phone-Mango-Local-Database-SQL-CE--Linq-to-SQL
本文如下:
這是“windows phone mango本機資料庫(sqlce)”系列短片文章的第二篇。 為了讓你開始在Windows Phone Mango中使用資料庫,這一系列短片文章將覆蓋所有你需要知道的知識點。我將談談在windows phone mango中使用本機資料庫時有關的linq to sql。
這個系列包括以下其他部分:
- 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 7.1上基本的資料庫功能是SQL Compact關於Mango的一個實現,使用linq to sql訪問儲存在資料庫上的資料。 1、LINQ to SQL是什麼
LINQ to SQL 是一個作為.NET Framework上的一部分的ORM(對象關係映射)架構。它允許你映射你的業務對象(business object)(模型類)到資料庫中的表,然後可以不用寫單一的SQL語句來訪問或查詢資料庫中的資料。隨著Mango的更新,LINQ to SQL現在可以用於Windows Phone。
你可以使用LINQ to SQL: 1、映射你的業務對象(business object)到資料庫中的表 2、使用LINQ查詢資料庫 3、使用LINQ to SQL的API插入資料到資料庫中 4、使用LINQ to SQL的API更新資料 5、使用LINQ to SQL的API刪除資料 雖然windows phone 支援LINQ to SQL的大部分特性,但是它也有一些局限性。你可以看一下完整的MSDN文檔http://msdn.microsoft.com/zh-cn/library/hh202872(v=vs.92).aspx。下面給出其中的一些: 1、不支援ExecuteCommand :Windows Phone 不支援執行原始 Transact-SQL、資料定義語言 (Data Definition Language) (DDL) 或資料建模語言 (DML) 語句。 2、不支援ADO.NET(例如DataReader):LINQ to SQL查詢的所有資料都將在DataContext指定的類型集合中返回 3、僅支援Microsoft SQL Server Compact Edition (SQL CE)資料類型:SQLCE是本機資料庫的基礎資料庫技術。有關SQLCE資料類型的完整列表請看:http://msdn.microsoft.com/zh-cn/library/ms172424(v=sql.110).aspx
4、不支援Table.IListSource.GetList :若要綁定到表中的所有內容,請查詢整個表並綁定到查詢。使用商務邏輯處理插入和刪除。 5、不支援BinaryFormatter(二進位類型):若要將自訂類型轉換為SQL Server Binary或VarBinary資料類型,您的資料內容屬性可以實現LINQ to SQL CustomType,或者可以為byte[]或System.Data.Linq.Binary 類型。若要實現 LINQ to SQL CustomType,請首先建立實現 ToString() 和 Parse() 的自訂類,然後將該類用作您資料內容中的屬性。LINQ to SQL 可從 CustomType 映射到任何 SQL Server 字串類型,例如,Char、NChar、NVarChar、Text 和 XML。 6、Take() 在LINQ查詢中需要使用常數值:SQL CE 不支援在 Transact-SQL TOP 會話中使用查詢值。如果您要在 Take 方法中使用變數值,請在未使用 Take 方法的其他查詢中計算該值。 7、Skip()和Take()需要使用排序列表:這些方法依賴於排序返回一致的結果。2、它是怎麼工作的
簡單地說,LINQ是一組擴充方法,讓你可以在C#或VB中使用特殊的查詢文法來查詢資料庫中的資料。為了表示查詢而使用標準的LINQ查詢運算子,基本的查詢文法是一個方便的陳述性的簡寫。在你開始之前,你需要瞭解一些基本的東西:
1、LINQ to SQL 查詢運算式通常以“from”子句開始,以“select”子句結束 2、“from”子句表示你想要查詢的資料(通常你從collection/datacontext中查詢資料) 3、“select”子句表示你想要返回的資料,並且它應該是什麼樣的格式 4、每當你想要過濾資料時你可以使用“where”子句 5、通過“orderby”子句對資料進行排列
注釋:LINQ to SQL在資料庫層完成所有的過濾和排序,這讓它變得非常高效。為此,你可以在C#代碼中編寫LINQ查詢,它會自動翻譯成SQL,然後SQL runtime會執行語句,所以當你執行下面的LINQ 查詢
1 var query = from p in context.Persons where p.Age > 18 select p;
在實際執行之前,LINQ to SQL runtime會自動將它翻譯成下面的SQL查詢
1 SELECT [t0].[ID], [t0].[FirstName], [t0].[LastName], [t0].[Age] 2 FROM [dbo].[People] AS [t0] 3 WHERE [t0].[Age] > @p0
注釋:關於更多的關於完整的LINQ文法你可以看一下官方文檔:http://msdn.microsoft.com/zh-cn/library/bb308959.aspx
這篇文章我談了有關在windows phone mango本機資料庫中使用LINQ to SQL。請繼續關注接下來的文章。