EntLib(一)如何编写数据访问代码

我们首先编写一个控制台应用程序(Console Application),添加一个app.config文件,内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration"
type
="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,
Microsoft.Practices.EnterpriseLibrary.Data"
/>
</configSections>
<dataConfiguration defaultDatabase="LocalSqlServer"/>
<connectionStrings>
<clear/>
<add name="LocalSqlServer"
connectionString
="Persist Security Info=False;
Data Source=172.16.25.98;
Initial Catalog=dhcacc;
Connection TimeOut=100;
User ID=sa;
Password=sa2598;
Packet Size=4096;
Pooling=true;
Max Pool Size=100;
Min Pool Size=1"

providerName
="System.Data.SqlClient"/>
</connectionStrings>
</configuration>

上面配置了数据配置节点<dataConfiguration>,其中指定了默认数据库连接“LocalSqlServer”。

然后我们就在程序中进行数据访问:

Imports Microsoft.Practices.EnterpriseLibrary.Data
Imports System.Transactions
Imports System.Data.Common

Module Module1

Sub Main()
Dim db As Database = DatabaseFactory.CreateDatabase()
Using t As New TransactionScope
Dim cmd As DbCommand = db.GetSqlStringCommand("SELECT * FROM SYS_User")
Dim ds As DataSet = db.ExecuteDataSet(cmd)
Console.WriteLine(ds.GetXml())
End Using
Console.ReadLine()
End Sub

End Module

DatabaseFactory.CreateDatabase()方法会根据配置文件中指定的默认数据库连接进行数据库实例的创建。并且我们使用TransactionScope(逻辑事务范围),当第一次进行数据库查询时连接数据库,发生异常则进行回滚,如无异常则在事务生命周期后进行提交。当然EntLib也提供了Database类的数据命令创建(GetSqlStringCommand)和执行方法(ExecuteNonQuery、ExecuteScalar、ExecuteReader以及ExecuteDataSet)。

如果要直接通过指定数据库连接字符串和数据提供者名称进行数据库实例的创建,请参考使用GenericDatabase类。

转载于:https://www.cnblogs.com/richardcktsui/archive/2012/02/20/2359203.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值