输入ADO.NET调用使用注意事项

开发 后端
ADO.NET调用还是比较常用的,于是我研究了一下ADO.NET调用,在这里拿出来和大家分享一下,希望对大家有用。经过长时间学习ADO.NET调用。

ADO.NET调用自从出道的时候,总是不好使。为什么大家针对数据库访问,习惯性的想到SQL;而在ADO.NET调用的时候,大家已经对LINQ有所了解,因此,针对实体的访问。

相对于SQL,eSQL提供了对实体的很好的支持——这是SQL所不具备的(历史原因 ^_^)。SQL查询出来的是行,ADO.NET调用则可以直接查询出实体集。eSQL直接支持EDM中的类型,而SQL不支持(废话,有SQL的时候,EDM还没有出世呢)……

相对于自己的哥哥——LinQ,eSQL显得更为灵活。由于eSQL的查询语句是个字符串,因此,其十分易于处理。举个简单的例子,如果我要写一个方法,传入排序的属性名称,返回一个按照此属性排序好的实体集,要用LinQ实现,恐怕有点麻烦,因为,其ADO.NET调用后面,需要跟一个实体类的属性;然而,在eSQL里,这简单是轻而易举的事,只要写上一个eSQL语句,把排序位置留为{0},然后进行字符串替换,这一功能就完成了——好像比较难说明白,没有关系,后面的示例代码里有相关的部分。

总之,一句话,eSQL是个好东东——因为它是本文介绍的主角^_^。至于到底是不是那么一回事儿,ADO.NET调用大家可以试一下本文的示例,然后,根据自己的理解来酌情运用。

  1. 'Using EntityCommand Interface   
  2. Private Sub QueryESql1()   
  3. Using eConn As New EntityConnection(ConnString)   
  4. Dim myQuery = "{0,1,2,3}"   
  5. Using cmd As New EntityCommand(myQuery, eConn)   
  6. eConn.Open()   
  7. Using reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess) While (reader.Read())   
  8. Console.WriteLine(reader.GetValue(0))   
  9. End While   
  10. End Using   
  11. End Using   
  12. End Using   
  13. End Sub 

三、eSQL的使用方法

EF为eSQL提供了两套接口:Entity Command接口和ObjectQuery接口。让我们首先来了解一下这两套接口的使用模式:

Entity Command接口:

首先,通过预先配置好的连接字符串,创建一个EntityConnection类型的连接ADO.NET调用

然后,定义查询语句#t#
步,通过连接和查询语句,创建一个EntityCommand的对象cmd;

第四步,打开连接,读取数据。

这一接口形式,更接近于传统的ADO.NET调用形式。

责任编辑:chenqingxiang 来源: NET130
相关推荐

2009-12-24 15:18:42

创建ADO.NET

2009-12-23 16:31:04

ADO.NET EF

2009-12-29 14:24:40

使用ADO.NET

2009-12-29 13:40:24

使用ADO.NET

2009-12-23 17:43:53

ADO.NET模型

2009-12-28 15:11:36

ADO.NET专家

2009-12-21 17:23:56

ADO.Net程序

2009-11-11 11:27:02

ADO.NET存储过程

2009-12-24 09:34:47

调用ADO.NET

2009-12-21 14:04:48

ADO.NET参数

2009-11-12 13:26:56

使用ADO.NET参数

2009-12-24 14:12:33

2009-11-11 11:08:03

ADO.NET存储过程

2009-12-18 16:33:14

ADO.NET标准化

2009-12-31 13:50:46

ADO.NET模型

2009-12-21 14:50:47

ADO.NET优化

2009-12-22 15:20:25

ADO.NET功能

2009-12-21 16:53:06

ADO.NET使用说明

2009-12-29 10:36:24

ADO.NET 工具

2009-08-21 16:35:08

使用C#结合ADO.N
点赞
收藏

51CTO技术栈公众号