视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
EntLib5.0DAAB(DataAccessApplicationBlock),数据访问程序块
2020-11-09 15:24:54 责编:小采
文档


企业库下载:(还有相关视频及帮助文档) http://entlib.codeplex.com/ Entlib5.0 要求.net framework3.5 sp1,或 .net framework 4.0 App.config: ?xml version="1.0" encoding="utf-8" ?configuration configdivs div name="dataConfiguration" type="Micro

企业库下载:(还有相关视频及帮助文档)

http://entlib.codeplex.com/

Entlib5.0 要求.net framework3.5 sp1,或 .net framework 4.0

App.config:



 
 
 
 
 
 
 
 

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Data.Sql;
using System.Data.Common;
using System.Data;

namespace TestEntLib5_0InFramework3_5
{
 class Program
 {
 static void Main(string[] args)
 {
 Database db = DatabaseFactory.CreateDatabase(); //创建一个默认的数据库对象

 //Database db = DatabaseFactory.CreateDatabase("DbConnString182"); //创建一个命名的数据库对象

 //1.ExecuteNonQuery
 /*
 DbCommand dbCmd = db.GetSqlStringCommand(
 @"INSERT INTO T_EntLib (name,birthday,email) VALUES(N'吴1','2008-12-23','a@qq.com');
 INSERT INTO T_EntLib (name,birthday,email) VALUES(N'吴2','2008-12-23','gga@qq.com');
 INSERT INTO T_EntLib (name,birthday,email) VALUES(N'吴3','2008-12-23','a@qq.com');
 INSERT INTO T_EntLib (name,birthday,email) VALUES(N'吴4','2008-12-23','a@qq.com');
 INSERT INTO T_EntLib (name,birthday,email) VALUES(N'吴5','2008-12-23','a@qq.com');");
 int iAffectedNum = db.ExecuteNonQuery(dbCmd); //返回影响的条数
 Console.WriteLine(iAffectedNum);
 */

 //2. ExecuteDataSet自动开启关闭Connection 

 //var sql = "SELECT TOP 10 * FROM sys_draw ORDER BY id DESC";
 /*
 var sql = "SELECT * FROM T_EntLib";

 DbCommand cmd = db.GetSqlStringCommand(sql);

 // No need to open the connection; just make the call.
 //	执行时监视:cmd.Connection.State
 DataSet ds = db.ExecuteDataSet(cmd);
 //在此处发现:cmd.Connection.State	Closed	System.Data.ConnectionState
 //说明自动关闭连接
 Console.WriteLine(ds.Tables[0].Rows.Count);
 int col = ds.Tables[0].Columns.Count;
 foreach (DataRow dr in ds.Tables[0].Rows)
 {
 for (int i = 0; i < col; i++)
 {
 Console.Write(dr[i].ToString());
 }
 Console.WriteLine();
 }
 */

 //3:ExecuteReader
 /**
 * If the Data Access Application Block methods close the connection before returning the DbDataReader,
 * the DbDataReader becomes useless to the client code. Instead, the DbDataReader methods indicate 
 * to the underlying ADO.NET call to automatically close the connection when the DbDataReader is disposed. 
 * 
 * */
 /*
 var sql = "SELECT * FROM T_EntLib";
 DbCommand cmd = db.GetSqlStringCommand(sql);
 using (IDataReader reader = db.ExecuteReader(cmd))
 {
 int col = reader.FieldCount;
 while (reader.Read())
 {
 for (int i = 0; i < col; i++)
 {
 Console.Write(reader[i].ToString());
 }
 Console.WriteLine();
 }
 } //在此处之后,发现 cmd.Connection.State 自动变为Closed.
 */

 //4: Retrieving Data as Objects 
 

 var sql = "SELECT * FROM T_EntLib";

 //var result = db.ExecuteSqlStringAccessor(sql); //使用默认的RowMapper

 IRowMapper < Info > rowMapper = MapBuilder.MapAllProperties()
 .MapByName(x => x.NAME)
 .DoNotMap(x => x.Email)
 .DoNotMap(x=>x.Birthday)
 .Build();
 var result = db.ExecuteSqlStringAccessor(sql, rowMapper); //使用自定义的RowMapper

 foreach (var item in result)
 {
 Console.WriteLine("ID={0},Name:{1},Birthday:{2},Email:{3}", item.Id, item.NAME, item.Birthday, item.Email);
 }
 Console.ReadKey();
 }
 }
}

  

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TestEntLib5_0InFramework3_5
{
 public class Info
 {
 public int Id { get; set; }
 public string NAME { get; set; }
 public string Email { get; set; }
 public DateTime Birthday { get; set; }
 }
}

  

CREATE TABLE T_EntLib
(
	ID bigint IDENTITY,
	NAME nvarchar(50),
	Birthday datetime,
	Email varchar(50)
)

http://files.cnblogs.com/wucg/TestEntLib5_0InFramework3_5.zip

下载本文
显示全文
专题