演練:建立 Adventure Works 銷售模型和查詢 (C#)

來源:互聯網
上載者:User

本演練提供了複雜性最小的基本端對端 LINQ to Entities 方案。您將建立 AdventureWorks 銷售模型,其中包含基於 AdventureWorks 樣本資料庫中的 Address、Contact、Product、SalesOrderHeader 和 SalesOrderDetail 表的實體和關聯。然後,您將建立一個簡單查詢來列出 AdventureWorks 庫存中的所有紅色產品。

系統必備

本演練需要 AdventureWorks 樣本資料庫。如果您的開發電腦上沒有此資料庫,您可以從 CodePlex 網站的 Microsoft SQL Server Community & Samples(Microsoft SQL Server 社區和樣本)網頁上下載該資料庫。

概述

本演練由 4 項主要工作群組成:

  • 在 Visual Studio 2008 中建立 LINQ to Entities 解決方案。

  • 建立 AdventureWorks 銷售模型。

  • 建立對該銷售模型啟動並執行簡單查詢。

  • 執行查詢並觀察結果。

建立 LINQ to Entities 解決方案

在這第一項任務中,您將建立一個 Visual Studio 解決方案,其中包含產生和運行 LINQ to Entities 項目所必需的引用。

建立 C# LINQ to Entities 解決方案
  1. 在 Visual Studio “檔案”菜單上,指向“建立”,再單擊“項目”

  2. “建立項目”對話方塊的“項目類型”窗格中,單擊“Visual C#”

  3. 從下拉式功能表中選擇“.NET Framework 3.5”

  4. “模板”窗格中,單擊“控制台應用程式”

  5. “名稱”框中,鍵入“LinqToEntitesConsoleApp”

  6. “位置”框中,選擇用於儲存專案檔的位置,再單擊“確定”

  7. “項目”菜單上,單擊“添加引用”,單擊“.NET”選項卡,單擊“System.Data.Entity”程式集,然後單擊“確定”

  8. 在原始碼檔案中添加用於 System.Data.Objects 命名空間的 using 指令。

建立 AdventureWorks 銷售模型

在此任務中,您將使用 實體資料模型 嚮導建立 AdventureWorks 銷售模型,並在項目中引用該模型。

建立並引用 AdventureWorks 銷售模型
  1. “項目”菜單上單擊“添加新項”

  2. “添加新項”對話方塊的“模板”窗格中,選擇“ADO.NET 實體資料模型”。將模型命名為“AdventureWorksSalesModel”,然後單擊“添加”

  3. “選擇模型內容”對話方塊中,選擇“從資料庫產生”,然後單擊“下一步”

  4. “選擇您的資料連線”視窗中,從列表中選擇現有 AdventureWorks 串連,或者建立一個到具有 AdventureWorks 樣本資料庫的 SQL Server 執行個體的串連。

  5. 將 App.Config 中的實體串連設定另存新檔“AdventureWorksEntities”,然後單擊“下一步”

  6. “選擇資料庫物件”對話方塊中,清除所有對象,展開“表”,然後選擇以下表對象:

    • Address (Person)

    • Contact (Person)

    • Product (Production)

    • SalesOrderDetail (Sales)

    • SalesOrderHeader (Sales)

  7. 將此模型命名空間命名為“AdventureSalesWorksModel”,然後單擊“完成”

  8. “模型瀏覽器”視圖開啟,其中顯示 AdventureWorks 銷售模型中的實體。單擊儲存按鈕,然後選擇“Program.cs”選項卡轉回原始碼。

  9. 在源檔案中添加用於“AdventureWorksSalesModel”using 語句。

建立簡單查詢

此步驟中,您將建立一個查詢來尋找 AdventureWorks 庫存中的紅色產品。如果將查詢設計為返回一系列值,則查詢變數僅儲存查詢命令。查詢的實際執行將延遲到在 foreach 迴圈中逐一查看查詢變數之後進行。這種方法稱為“順延強制”。有關更多資訊,請參見查詢執行。

建立簡單查詢
  • 將下面的代碼鍵入或粘貼到 Main 方法中。

C#

複製代碼

using (AdventureWorksEntities AWEntities = new AdventureWorksEntities()){    ObjectQuery<Product> products = AWEntities.Product;    IQueryable<Product> query =        from product in products        where product.Color == "Red"        select product;    foreach (Product product in query)    {        Console.WriteLine("Name: {0}", product.Name);        Console.WriteLine("Product number: {0}", product.ProductNumber);        Console.WriteLine("List price: ${0}", product.ListPrice);        Console.WriteLine("");    }}//Prevent the console window from closing.Console.WriteLine("Hit Enter...");Console.Read();

執行查詢

在此步驟中,您將實際執行查詢。您在前面步驟中建立的查詢運算式只有在需要結果時才會進行計算。當您開始 foreach 迭代時,將對 AdventureWorks 銷售模型執行查詢,並且結果將具體化。

執行查詢
  1. 按 F5 以偵錯模式執行應用程式。

  2. 查詢結果應出現在控制台視窗中。

  3. 在控制台視窗中按 Enter 關閉應用程式。

另請參見

任務

如何:使用實體資料模型嚮導(Entity Framework)

概念

LINQ to Entities 概述

聯繫我們

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