您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“ADO.NET數(shù)據(jù)服務(wù)框架有什么用”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
ADO.NET實(shí)體框架旨在支持以數(shù)據(jù)為中心的應(yīng)用程序和服務(wù),并提供平臺(tái)用于對(duì)數(shù)據(jù)進(jìn)行編程,該平臺(tái)將抽象級(jí)別從邏輯關(guān)系級(jí)別提升為概念級(jí)別。通過(guò)使開發(fā)人員可以在更高的抽象級(jí)別上使用數(shù)據(jù),實(shí)體框架 支持獨(dú)立于任何特定數(shù)據(jù)存儲(chǔ)引擎或關(guān)系架構(gòu)的代碼。有關(guān)更多信息,請(qǐng)參見 實(shí)體框架簡(jiǎn)介。
實(shí)體框架支持 實(shí)體數(shù)據(jù)模型 (EDM) 在存儲(chǔ)和概念級(jí)別上定義數(shù)據(jù)以及這兩個(gè)級(jí)別之間的映射。它還使開發(fā)人員能夠直接對(duì)在概念級(jí)別上定義為公共語(yǔ)言運(yùn)行庫(kù) (CLR) 對(duì)象的數(shù)據(jù)類型進(jìn)行編程。實(shí)體框架 提供一些工具,用于基于現(xiàn)有數(shù)據(jù)庫(kù)生成 EDM 和相關(guān) CLR 對(duì)象。過(guò)去在創(chuàng)建基于對(duì)象的數(shù)據(jù)應(yīng)用程序和服務(wù)時(shí),需要大量數(shù)據(jù)訪問(wèn)代碼,而這些工具減少了這些代碼的使用,也使根據(jù)現(xiàn)有數(shù)據(jù)庫(kù)創(chuàng)建面向?qū)ο蟮臄?shù)據(jù)應(yīng)用程序和服務(wù)更為快速。
ADO.NET數(shù)據(jù)服務(wù)框架概述
ADO.NET數(shù)據(jù)服務(wù)框架支持可通過(guò)標(biāo)準(zhǔn) Internet 協(xié)議 (HTTP) 訪問(wèn)的數(shù)據(jù)服務(wù)。ADO.NET 數(shù)據(jù)服務(wù)以具象狀態(tài)傳輸 (REST) 資源的形式提供數(shù)據(jù),可通過(guò) URI 命名約定對(duì)這些資源進(jìn)行標(biāo)識(shí)和尋址。根據(jù)實(shí)體數(shù)據(jù)模型 (EDM) 的規(guī)范,將數(shù)據(jù)資源定義為實(shí)體和關(guān)系。已知的格式(例如 JSON、AtomPub 和 XML)表示為響應(yīng) HTTP 謂詞(GET、PUT、POST 和 DELETE)而傳輸?shù)幕谖谋镜臄?shù)據(jù)。
ADO.NET數(shù)據(jù)服務(wù)框架包括用于創(chuàng)建數(shù)據(jù)服務(wù)的服務(wù)器 API 和實(shí)現(xiàn)查詢和更新(由遠(yuǎn)程應(yīng)用程序執(zhí)行)的編程上下文的客戶端 API。ADO.NET 數(shù)據(jù)服務(wù)可與許多類型的應(yīng)用程序一起使用。雖然框架能夠基于實(shí)體數(shù)據(jù)模型 (EDM) 有效地部署數(shù)據(jù),但也可以從實(shí)現(xiàn) IQueryable 接口的任何數(shù)據(jù)源創(chuàng)建 ADO.NET 數(shù)據(jù)服務(wù)。在客戶端上,任何可發(fā)送 HTTP 請(qǐng)求的應(yīng)用程序都能夠與 ADO.NET 數(shù)據(jù)服務(wù)進(jìn)行交互。
關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng) (RDBMS) 中的數(shù)據(jù)可通過(guò)對(duì)象關(guān)系模型進(jìn)行映射并通過(guò) ADO.NET 數(shù)據(jù)服務(wù)進(jìn)行部署,但 ADO.NET 數(shù)據(jù)服務(wù)并不要求進(jìn)行對(duì)象關(guān)系映射。ADO.NET 數(shù)據(jù)服務(wù)框架可以使用實(shí)現(xiàn) IQueryable 的任何數(shù)據(jù)源。基于 XML 數(shù)據(jù)源的數(shù)據(jù)服務(wù)、Web 服務(wù)、應(yīng)用程序邏輯和數(shù)據(jù)訪問(wèn)技術(shù)(例如 LINQ to SQL)都可實(shí)現(xiàn) EDM 架構(gòu)和使用派生自 LINQ 的查詢機(jī)制。客戶端應(yīng)用程序通過(guò)發(fā)送 GET、PUT、POST 和 DELETE 請(qǐng)求與 ADO.NET 數(shù)據(jù)服務(wù)進(jìn)行交互。數(shù)據(jù)以腳本環(huán)境中使用的開放格式(例如 JSON 和 AtomPub)進(jìn)行傳輸。公共語(yǔ)言運(yùn)行庫(kù) (CLR) 應(yīng)用程序可以引用 .NET 客戶端庫(kù)(ADO.NET 數(shù)據(jù)服務(wù)框架),該庫(kù)中包括可創(chuàng)建用于數(shù)據(jù)查詢和更新的編程上下文的類。
創(chuàng)建 ADO.NET數(shù)據(jù)服務(wù)
在ADO.NET數(shù)據(jù)服務(wù)框架中,創(chuàng)建一個(gè)支持創(chuàng)建、讀取、更新和刪除操作的數(shù)據(jù)服務(wù)分為三個(gè)步驟:
1.創(chuàng)建數(shù)據(jù)模型。ADO.NET 數(shù)據(jù)服務(wù)將部署一個(gè)位于概念數(shù)據(jù)模型之上的 REST 接口。ADO.NET 數(shù)據(jù)服務(wù)本身支持基于 ADO.NET 實(shí)體框架的數(shù)據(jù)模型。ADO.NET 數(shù)據(jù)服務(wù)還提供一種擴(kuò)展機(jī)制,通過(guò)此擴(kuò)展可利用公共語(yǔ)言運(yùn)行庫(kù) (CLR) 對(duì)象部署數(shù)據(jù)模型。從 Microsoft .NET Framework 3.5 開始提供的 AsQueryable 方法能夠有效地將 IQueryable<T> 接口添加到實(shí)現(xiàn) IEnumerable<T> 的對(duì)象上。通過(guò)此新的接口,可以在 .NET Framework 中輕松地基于列表、數(shù)組和集合來(lái)部署 ADO.NET 數(shù)據(jù)服務(wù)。有關(guān) ADO.NET 數(shù)據(jù)服務(wù)支持的數(shù)據(jù)模型的更多信息,請(qǐng)參見數(shù)據(jù)模型(ADO.NET 數(shù)據(jù)服務(wù)框架)。
2.創(chuàng)建數(shù)據(jù)服務(wù)。配置的數(shù)據(jù)服務(wù)可讓數(shù)據(jù)模型通過(guò) HTTP 協(xié)議訪問(wèn)。也可以指定由服務(wù)器強(qiáng)制實(shí)施的緩存和授權(quán)策略。
3.選擇宿主。ADO.NET 數(shù)據(jù)服務(wù)不直接綁定到網(wǎng)絡(luò)套接字,因此不會(huì)直接接受 HTTP 請(qǐng)求。相反,它們?cè)诂F(xiàn)有的基礎(chǔ)結(jié)構(gòu)(例如 Windows Communication Foundation)中運(yùn)行。
“ADO.NET數(shù)據(jù)服務(wù)框架有什么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。