今天是2014年上班第一天,想着今年要做点与往年不同的事情,就从写博客开始吧。

公司的项目一般都用微软的企业库,一直没时间好好研究,第一天上班还不忙,就抽空研究了下。搜索一下,发现这个企业库已经到了6.0版本了,就拿这个来研究好了。

在博客园上看到有好多文章介绍企业库的,大都是5.0版本的,于是想自己写个6.0的简单易操作的文章。

MSDN介绍地址:http://msdn.microsoft.com/zh-cn/library/dn169621.aspx

下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=38789

点击下载会出现6个文件提供下载,可以都下下来。其中有个Microsoft.Practices.EnterpriseLibrary.ConfigConsoleV6.vsix,这个是在Visual Studio 2012里添加右键菜单用的,直接运行就可以。

学习的话还需要下载这个Hands-on Labs示例(http://www.microsoft.com/en-us/download/details.aspx?id=40286),这里面介绍得很详细。解压后有几个文件夹,就从第一个Data Access开始学吧。

在setup目录下是创建测试数据库的脚本,直接执行脚本就行,前面会报错,没关系,不影响执行,执行完后刷新数据库就能看到新建的库了。

在instructions目录下是使用文档,打开pdf的就可以,里面写得很详细,按照里面写的一步一步来就行。

下面就开始吧

打开\exercises\ex01\begin下的DataEx1.sln

在CustomerManagement项目上右击选择管理NuGet程序包,选择联机,搜索“enterpriselibrary”,选择

(当然如果前面已经下了可以直接把dll引用进来)

安装完后打开MainForm.cs文件,

引入dll

using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;

修改如下代码:

private void mnuCount_Click(object sender, System.EventArgs e)
{
// TODO: Count Customers
DatabaseProviderFactory factory = new DatabaseProviderFactory();
Database db = factory.Create("QuickStarts Instance");
int count = (int)db.ExecuteScalar(CommandType.Text, "SELECT COUNT(*) FROM Customers");
string message = string.Format("There are {0} customers in the database", count.ToString());
MessageBox.Show(message);
}

private void mnuLoad_Click(object sender, System.EventArgs e)
{
// TODO: Load Customers
DatabaseProviderFactory factory = new DatabaseProviderFactory();
Database db = factory.CreateDefault();
DataSet ds = db.ExecuteDataSet(CommandType.Text, "SELECT * From Customers");
dataGrid1.DataSource = ds.Tables[0];
}

然后添加配置文件,在App.config上右键弹出菜单中选择Edit configuration file v6,按下图配置

点击Connection String,写入连接字符串

点File-Save,关闭配置界面,回到VS里面,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, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
</configSections>
<dataConfiguration defaultDatabase="EntLibQuickStarts" />
<connectionStrings>
<add name="EntLibQuickStarts" connectionString="Data Source=mythmaomao;Initial Catalog=EntLibQuickStarts;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

然后运行项目吧,在菜单栏上点击Customers-Load,出现下图:

本节到此结束,其它的也是参照Hands-on Labs里的pdf来学习。

Enterprise Library 6 学习笔记的更多相关文章

  1. Parallel Pattern Library(PPL)学习笔记

    关于PPL是什么,可以搜索关键字MSDN PPL了解详情.这里谈一下困扰自己好一阵子的一个地方--task chain中抛出异常的处理,一来可为其他码农同行参考,二来给自己做个记录,以免日后忘却. V ...

  2. DPDK Mbuf Library(学习笔记)

    1 Mbuf库 Mbuf库提供了分配和释放缓冲区(mbufs)的功能,DPDK应用程序可以使用这些mbufs来存储消息缓冲. 消息缓冲存储在内存池中,使用Mempool库. 数据结构rte_mbuf通 ...

  3. Enterprise Library 5.0 学习笔记

    近期了解了微软提供的企业开发框架Enterprise Library,眼下最新版本号是6.0,可是不支持FW3.5.所以就学习了5.0的版本号,EL5.0支持FW3.5和4.0,官网下载地址是:htt ...

  4. V-rep学习笔记:Reflexxes Motion Library 3

    路径规划 VS 轨迹规划 轨迹规划的目的是将输入的简单任务描述变为详细的运动轨迹描述.注意轨迹和路径的区别:Trajectory refers to a time history of positio ...

  5. V-rep学习笔记:Reflexxes Motion Library 2

    VREP中的simRMLMoveToPosition函数可以将静态物体按照设定的运动规律移动到指定的目标位置/姿态.If your object is dynamically enabled, it ...

  6. 微软企业库5.0 学习之路——扩展学习篇、库中的依赖关系注入(重构 Microsoft Enterprise Library)[转]

    这篇文章是我在patterns & practices看到的一篇有关EntLib5.0的文章,主要介绍了EntLib5.0的这次的架构变化由来,觉得很不错,大家可以看一下! 在过去几年中,依赖 ...

  7. 【HLSL学习笔记】WPF Shader Effect Library算法解读之[DirectionalBlur]

    原文:[HLSL学习笔记]WPF Shader Effect Library算法解读之[DirectionalBlur] 方位模糊是一个按照指定角度循环位移并叠加纹理,最后平均颜色值并输出的一种特效. ...

  8. 【HLSL学习笔记】WPF Shader Effect Library算法解读之[Embossed]

    原文:[HLSL学习笔记]WPF Shader Effect Library算法解读之[Embossed] Embossed(浮雕效果)          浮雕效果主要有两个参数:Amount和Wid ...

  9. 【HLSL学习笔记】WPF Shader Effect Library算法解读之[BandedSwirl]

    原文:[HLSL学习笔记]WPF Shader Effect Library算法解读之[BandedSwirl] 因工作原因,需要在Silverlight中使用Pixel Shader技术,这对于我来 ...

随机推荐

  1. 多表更新时碰到的 ERROR 1292 (22007)隐式转换错误

    表结构如下: Create Table: CREATE TABLE `test_t2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `customer_no` va ...

  2. command not found Operation not permitted

    mysql -uroot -p  报错误:command not found 因为苹果在OS X 10.11中引入的SIP特性使得即使加了sudo(也就是具有root权限)也无法修改系统级的目录,其中 ...

  3. pyquery 安装

    取得网页源代码,导入pyquery库 pip3 install pyquery       如果报错的话:python安装pyquery报错error: 'libxml/xmlversion.h' f ...

  4. Mapnik

    Downloads Latest Release The latest release is Mapnik v3.0.22.最新版本是Mapnik v3.0.22. Mapnik 3.0.22 Rel ...

  5. activeMq之hello(java)

    消息队列activeMq,   节省响应时间,解决了第三方响应时间长的问题让其他客户可以继续访问, 安装activeMq apache-activemq-5.14.0-bin\apache-activ ...

  6. 声笔飞码GB2312单字效率分析

    -----------------------声笔飞码强字方式单字效率分析-------------------------- 2   keys: 567       items, 381900209 ...

  7. [kuangbin]树链剖分A - Aragorn's Story

    比较水的题了,比模板题还要简单一点 理解了这个结构,自己打出来的,但是小错误还是很多,越来越熟练吧希望 错误函数updata,updata_lca,query||错误地方区间往下递归的时候是left ...

  8. C# 使用Queue<T>代替递归算法遍历树

    递归时候每次调用自身在堆栈上要记录返回地址,而堆栈的空间很少,调用次数多了后会产生堆栈溢出,以下代码是实际项目中,通过Queue<T>来避免递归算法的代码: /// <summary ...

  9. secureCRT端口转发功能突破防火墙限制

    这样一个场景:A是办公网络的一台windows主机,B是一台Linux堡垒机,C是生产环境一台Oracle主机, A只能访问B但A不能访问C,B可以访问到C,那怎样才可以使A机上的“ PLSQL De ...

  10. 如何让cxgrid既能充满又能根据内容进行宽度调整?

    如何让cxgrid既能充满又能根据内容进行宽度调整? 原创 2009年02月25日 10:10:00 2793 1.选中cxgridview,在属性中找OptionsView--->ColumA ...