Windows Phone本機資料庫(SQLCE):2、LINQ to SQL(翻譯)

來源:互聯網
上載者:User

     一隻大菜鳥,最近要學習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。請繼續關注接下來的文章。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.