有效进行ADO.NET Entity Framework查询学习

开发 后端
ADO.NET Entity Framework有很多值得学习的地方,这里我们主要介绍ADO.NET Entity Framework,在向大家详细介绍ADO.NET Entity Framework之前,首先让大家了解下ADO.NET Entity Framework。

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

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

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

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

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

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

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

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

  1. Transact-SQL:  
  2. select b + c, count(*), sum(a)   
  3. from T   
  4. group by b + c  
  5. Entity SQL:  
  6. select k, count(t.a), sum(t.a)   
  7. from T AS t  
  8. group by b + c AS k 
责任编辑:chenqingxiang 来源: 电子工业出版社
相关推荐

2009-12-22 14:46:09

ADO.NET Ent

2009-12-30 14:03:36

ADO.NET Ent

2009-11-03 16:27:43

ADO.NET Ent

2009-12-23 16:00:50

ADO.NET Ent

2009-12-22 17:14:37

ADO.NET Ent

2009-12-30 10:14:41

ADO.NET Ent

2009-12-23 16:15:24

ADO.NET Ent

2010-04-20 09:40:38

ADO.NET Ent

2009-12-22 16:03:34

ADO.NET Ent

2009-09-04 14:52:03

ADO.NET Ent

2009-12-23 17:50:38

ADO.NET Fra

2009-12-30 14:12:53

ADO.NET Fra

2009-12-30 10:02:37

ADO.NET Ent

2009-12-22 09:50:23

ADO.NET学习

2009-12-31 14:56:36

ADO.NET Ent

2009-11-11 15:59:17

ADO.NET Ent

2009-12-23 17:21:31

ADO.NET团队

2009-12-28 17:09:34

ADO.NET实例

2009-12-30 10:43:31

ADO.NET Ent

2010-01-04 10:14:04

ADO.NET对象模型
点赞
收藏

51CTO技术栈公众号