匯出 (0) 列印
全部展開

作法:透過 WCF Data Services 連線到 Azure SQL Database

更新日期: 2014年4月

WCF Data Services (原來稱為 ADO.NET Data Services) 可讓您建立實作 Open Data Protocol (OData) (以 Representational State Transfer (REST) 為基礎) 的資料服務。OData 是以標準的網際網路通訊協定為基礎,因此,任何用戶端應用程式都可以存取能夠傳送與接收 HTTP 訊息以及剖析 XML 的資料服務。此外,有許多用戶端程式庫可以針對多種應用程式平台,讓取用 OData 摘要更容易。如需有關支援 OData 之用戶端程式庫的詳細資訊,請參閱 OData SDK

WCF Data Services 需要資料服務提供者實作,才能定義資料模型並提供基礎資料來源的存取。藉由使用 Entity Framework 提供者,您就可以為 Azure SQL 資料庫 建立資料服務。如需有關如何使用 WCF Data Services 的詳細資訊,請參閱 WCF Data Services 文件集。

note附註
當開啟 Azure SQL 資料庫 的連接時,請將連接逾時設定為 30 秒。

本主題說明如何建立以 Azure SQL 資料庫 為基礎的簡易資料服務,以及存取該資料服務的 Azure 應用程式。本主題使用<How To: Migrate a Database by Using Scripts>中部署至 Azure SQL 資料庫 的 School 範例資料庫。

若要依照此範例進行,您必須安裝 Azure SDKAzure Tools for Microsoft Visual Studio。如需 Azure 的詳細資訊,請參閱 Azure SDK。您還必須使用 DSInit 公用程式初始化隨 Azure Tools 一併安裝的 Development Storage 服務。Development Storage 只須初始化一次。如需詳細資訊,請參閱關於 Development Storage

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

    Warning警告
    您必須以系統管理員身分執行 Visual Studio,才能使用 Azure Development Fabric。

  2. [專案類型] 窗格中,選取 [Web]。在 [範本] 窗格中,選取 [ASP.NET Web 應用程式]。輸入 SchoolApplication 做為 [名稱],然後按一下 [確定]

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

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

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

  6. 按一下 [新增連接],並且輸入您 Azure SQL 資料庫 伺服器上 School 資料庫的資訊,然後按一下 [確定]。選擇 [否,從連接字串排除敏感性資料。我會在應用程式程式碼中設定這項資訊] 選項。然後按 [下一步]

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

    Caution注意
    若要遵循 Visual Studio 2010 或更新版本中的這個範例,請清除 [將產生的物件名稱複數化或單數化] 核取方塊。在 Visual Studio 2008 中執行這個範例時,Entity Framework 無法從 Azure SQL 資料庫 建立 .edmx 檔以及相關的用戶端類別。它必須連接到 虛擬機器建立 的本機執行個體,才能產生模型和對應檔案。不過,Entity Framework 將在模型和對應檔案建立完成時連接至 Microsoft Azure SQL Database。

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

  2. 選取 [WCF Data Service],輸入 SchoolDataService.svc 做為 [名稱],然後按一下 [加入]

  3. 在 SchoolDataService.svc.cs 或 SchoolDataService.svc.vb 中,將類別定義中定義資料服務的註解 /* TODO: put your data source class name here */ 取代為資料模型之實體容器的類型 (此案例中為 SchoolEntities)。類別定義應如下所示:

  4. InitializeService 函數中的預留位置程式碼取代為下列程式碼,這個程式碼會授與 CourseDepartmentPerson 實體的存取權:

  1. [方案總管] 中,以滑鼠右鍵按一下方案,指向 [加入],然後按一下 [新增專案]

  2. [加入新的專案] 對話方塊的 [專案類型] 窗格中,選取 [雲端服務]。輸入 SchoolSite 做為 [名稱],然後按一下 [確定]

  3. [新的雲端服務專案] 對話方塊中,將 [ASP.NET Web 角色] 加入至 [雲端服務方案] 窗格,然後按一下 [確定]

  4. 將 Default.aspx 中的來源取代為下列程式碼:

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1">
        <div>
        
            <asp:DropDownList ID="peopleList" runat="server" 
                onselectedindexchanged="peopleList_SelectedIndexChanged"
        AutoPostBack="True">
            </asp:DropDownList>
            <br />
            <br />
            <asp:Label ID="infoLabel" runat="server"></asp:Label>
            <br />
            
        
        </div>
        </form>
    </body>
    </html>
    

    這樣會建立名為 peopleList 的下拉式清單,以及名為 infoLabelLabel 控制項。

  5. 按 F6 建立應用程式。

  6. [方案總管] 中,以滑鼠右鍵按一下 [Web 角色] 專案,然後按一下 [加入服務參考]

  7. [加入服務參考] 對話方塊中,按一下 [探索]。SchoolDataService.svc 會出現在 [服務] 窗格中。輸入 SchoolServiceReference 做為 [名稱],然後按一下 [確定]。這樣會加入包含存取資料服務資源之資料類別的檔案。

  1. Default.aspx.csDefault.aspx.vb 中,加入下列 using 陳述式 (在 Visual Basic 中是 Imports):

  2. 在部分類別中,將 DataServiceContextURI 的下列宣告加入至資料服務 (稍早在 [加入服務參考] 對話方塊的 [位址] 欄位中顯示的 URI):

  3. Page_Load 方法中,具現化資料服務內容,然後加入下列程式碼,載入包含資料服務之資訊的下拉式清單:

  4. 在 Default.aspx 的設計檢視中,按兩下下拉式清單加入 peopleList_SelectedIndexChanged 事件。

  5. peopleList_SelectedIndexChanged 事件中加入下列程式碼,依據選取的人員填入 Label 控制項:

  1. 依照<How To: Migrate a Database by Using Scripts>中的指示,將 School 資料庫移轉至 Azure SQL 資料庫。

  2. [SchoolApplication] 專案中開啟 Web.config 檔案。變更連接字串,讓它連接至您的 Azure SQL 資料庫。

  3. [方案總管] 中,以滑鼠右鍵按一下 [WebRole1] 專案,然後選取 [設定為啟始專案]

  4. 按 F5 執行應用程式。

另請參閱

Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft