匯出 (0) 列印
全部展開
21 人當中有 11 人評分為有幫助- 為這個主題評分

如何:使用 ADO.NET Entity Framework 連接到 Windows Azure SQL Database

ADO.NET Entity Framework 可讓開發人員依據概念式的應用程式模型撰寫程式,藉此建立資料存取應用程式,而不再直接對關聯式儲存結構描述撰寫程式。

本主題說明如何建立對應至 Windows Azure SQL Database 的簡單概念模型,並且透過概念模型進行查詢。下列 Visual C#/Visual Basic 範例會對代表 School 模型中實體和關聯的 CLR 物件建立強型別查詢,該查詢會傳回 School 模型中的部門名稱。

若要依照這個範例進行,您必須從 .NET Framework 3.5 Service Pack 1 或更新版本安裝 Entity Framework。

建立資料模型

  1. 在 Visual Studio 中的 [檔案] 功能表上指向 [新增],然後按一下 [專案]

  2. [專案類型] 窗格中,選取 [Windows]。在 [範本] 窗格中,選取 [主控台應用程式]。輸入 SchoolApplicationEF 做為 [名稱],然後按一下 [確定]

  3. [方案總管] 中,以滑鼠右鍵按一下 [SchoolApplicationEF],指向 [加入],然後選取 [新增項目]

  4. 選取 [ADO.NET 實體資料模型],輸入 SchoolDataModel.edmx 做為 [名稱],然後按一下 [加入]

  5. [實體資料模型精靈] 中,選取 [從資料庫產生],然後按 [下一步]

  6. 按一下 [新增連接],並且輸入您 SQL Database 伺服器上 School 資料庫的資訊,然後按一下 [確定]。選擇 [否,從連接字串排除敏感性資料。我會在應用程式程式碼中設定這項資訊] 選項。然後按 [下一步]。如需如何將 School 資料庫移轉至 SQL Database 的詳細資訊,請參閱<如何:使用產生指令碼精靈移轉資料庫 (Windows Azure SQL Database)>。

  7. 選取 [資料表],然後按一下 [完成]。這樣會建立 .edmx 檔,該檔案會定義資料庫中每個資料表的實體類型。

  8. 儲存 [SchoolDataModel.edmx] 檔案。

    note附註
    在 Visual Studio 2008 中執行這個範例時,Entity Framework 無法從 SQL Database 建立 .edmx 檔以及相關的用戶端類別。它必須連接到 SQL Server 的本機執行個體,才能產生模型和對應檔案。不過,Entity Framework 將在模型和對應檔案建立完成時連接至 Windows Azure SQL Database。另外,Visual Studio 2008 中沒有 [將產生的物件名稱複數化或單數化] 核取方塊。因此,您必須在下列程式碼範例中將 Departments 更新為 Department,並且將 Courses 更新為 Course

建立主控台應用程式

  1. 將程式檔案中的程式碼取代為下列程式碼,然後按 F5,對您的 SQL Database 執行應用程式。

    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace SchoolApplicationEF
    {
    class Program
    {
        private static SchoolEntities schoolContext;
    
        static void Main(string[] args)
        {
            //Initialize the ObjectContext
            using (schoolContext = new SchoolEntities())
            {
    
                // Define a query that returns all Department  
                // objects and related Course objects, ordered by name.
                var departmentQuery = from d in schoolContext.Departments.Include("Courses")
                    orderby d.Name
                    select d;
    
                Console.WriteLine("List of departments: ");
    
                try
                {
                        foreach (Department dep in departmentQuery)
                            Console.WriteLine(dep.Name);
    
                }
                catch (Exception ex)
                {
                        Console.WriteLine("An error occurred: " + ex.Message);
                }
            }
    
            Console.WriteLine("Hit enter...");
            Console.Read();
     
        }
    }
    }
    

將應用程式移轉至 SQL Database

  1. 依照<如何:使用產生指令碼精靈移轉資料庫 (Windows Azure SQL Database)>中的指示,將 School 資料庫移轉至 SQL Database。

  2. [SchoolEFApplication] 專案中開啟 App.Config 檔案。變更連接字串,讓它連接至您的 SQL Database。

    <connectionStrings>
        <add name="SchoolEntities" connectionString="metadata=res://*/SchoolDataModel.csdl|res://*/SchoolDataModel.ssdl|res://*/SchoolDataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=<provideServerName>.database.windows.net;Initial Catalog=School;Integrated Security=False;User ID=<provideUserID>;Password=<providePassword>;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=False&quot;" providerName="System.Data.EntityClient"/>
    </connectionStrings>
    
  3. 按 F5,對您的 SQL Database 執行應用程式。

另請參閱

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見

社群新增項目

新增
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。