今天是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. redis.conf之save配置项解读

    配置示例: save 900 1 save 300 10 save 60 3600 配置解读: 1) “save 900 1”表示如果900秒内至少1个key发生变化(新增.修改和删除),则重写rdb ...

  2. Redis集群命令行部署工具

    使用之前准备工作: 1)配置好与端口无关的公共redis.conf文件,和工具放在同一目录下 2)配置好与端口相关的模板redis-PORT.conf文件,也和工具放在同一目录下(部署时PORT会被替 ...

  3. python计算机硬件基础以及变量常量常量池,解释器编译器比较,python的两种运行方式

    1.什么是编程语言 语言是一个事物与另外一个事物沟通的介质 编程语言是程序员与计算机沟通的介质 2.什么是编程 编程就是程序按照某种编程语言的语法规范将自己想要让计算机做的事情表达出来 表达的结果就是 ...

  4. MATLAB相关快捷键以及常用函数

    MATLAB快捷键大全 F1帮助 F2改名F3搜索 F4地址 F5刷新 F6切换 F10菜单 CTRL+A全选 CTRL+C复制 CTRL+X剪切 CTRL+V粘贴 CTRL+Z撤消 CTRL+O打开 ...

  5. Codeforces Round #264 (Div. 2) E. Caisa and Tree 树上操作暴力

    http://codeforces.com/contest/463/problem/E 给出一个总节点数量为n的树,每个节点有权值,进行q次操作,每次操作有两种选项: 1. 询问节点v到root之间的 ...

  6. 学习stm32 让我们一起回顾一下C语言吧

    ODR 是一个端口输出数据寄存器,也只用了低 16 位.该寄存器为可读写,从该寄存器读出来的数据可以用于判断当前 IO 口的输出状态.而向该寄存器写数据,则可以控制某个 IO 口的输出电平.该寄存器的 ...

  7. CentOS 7通过Firewall开放防火墙端口

    发现在CentOS 7上开放端口用iptables没效果(或者是sodino没找到正确的命令,传说Centos7 下默认的防火墙是 Firewall,替代了之前的 iptables)… 使用firew ...

  8. 那些好用的阅读软件(Windows & Android)

    此文章已添加预览与更新,请您移步到我的新博客 http://t.cn/EXCiCTE 整个2018年就没写过几篇博文,所以写一篇文章算过年啦-哈哈-有部分软件因为年代原因,官网已经消失.或者网络上的资 ...

  9. 在我朝如何为Brackets安装扩展?

    Brackets是Adobe发起的一个开源的HTML编辑器,界面优美简洁.扩展丰富.支持基于Chrome浏览器的实时预览,非常适合对于Web的开发和学习. 但是Brackets的安装包下载和扩展下载, ...

  10. 【VB6】全局键盘钩子

    基本也没啥好说的,不要用到木马及恶意程序中是以前从VB.NET程序改到VB6的,阉割了一些功能,只提供键盘Hook功能想要截获热键可以在处理函数中返回1,里面有示例 下载地址 http://pan.b ...