溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么有效進行ADO.NET Entity Framework查詢

發(fā)布時間:2021-12-02 16:22:11 來源:億速云 閱讀:139 作者:iii 欄目:編程語言

這篇文章主要介紹“怎么有效進行ADO.NET Entity Framework查詢”,在日常操作中,相信很多人在怎么有效進行ADO.NET Entity Framework查詢問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么有效進行ADO.NET Entity Framework查詢”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

在資料庫應(yīng)用程式中,經(jīng)常會使用到交易模式來確保資料已經(jīng)正確的寫入資料庫,發(fā)生錯誤時則做 Rollback 回溯動作,在 Entity Framework 中,是透過 System.Transactions 命名空間中的 TransactionScope 來執(zhí)行交易程序。

對於操作資料庫非常熟悉的開發(fā)人員來說,由資料庫取出資料這件事是再平常不過的了,Transact-SQL 的 SELECT 陳述式可以做到的事情太多了,ADO.NET Entity Framework包含關(guān)聯(lián)性連結(jié),子查詢與遞迴查詢(Recursive Query)等等。

當然在 ADO.NET Entity Framework 中的查詢能力也不能太弱,但是 Entity SQL 只是 Transact-SQL 的一個子集,無法做到 Transact-SQL 的所有功能。也就因為如此,在設(shè)計資料庫時,應(yīng)盡可能的將複雜查詢使用檢視表、預(yù)存程序或使用者函數(shù)(UDFs)來包裝,讓開發(fā)人員在寫程式時可以使用簡單的查詢方式,ADO.NET Entity Framework而這就是 DBA 的工作。

Entity SQL 可以做到 Transact-SQL 多數(shù)的 SELECT 能力,不過會有一些限制,列示部份常見的限制如下:

查詢表格與欄位時,必須要帶有別名(Alias):

以往在 Transact-SQL 中,不需要別名即可存取資料庫,但是在 Entity SQL 中,必須要使用別名來參考,才可以存取 Entity,例如:

SELECT a FROM T (Transact-SQL)  SELECT n.a FROM T AS a (Entity SQL)  SELECT T.a FROM T (Entity SQL with implicit alias)

若不想指定別名時,就要指定表格的名稱ADO.NET Entity Framework會做內(nèi)隱式的別名轉(zhuǎn)換。Transact-SQL 中若要提取所有欄位,我們會用 * 來指示,但是這在 Entity SQL 中是不支援的,必須要明確的指出要提取的欄位名稱,例如:

Transact-SQL:  select b + c, count(*), sum(a)   from T   group by b + c  Entity SQL:  select k, count(t.a), sum(t.a)   from T AS t  group by b + c AS k

到此,關(guān)于“怎么有效進行ADO.NET Entity Framework查詢”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI