今天是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. 详细介绍jQuery.outerWidth() 函数具体用法

    outerWidth()函数用于设置或返回当前匹配元素的外宽度.外宽度默认包括元素的内边距(padding).边框(border),但不包括外边距(margin)部分的宽度.你也可以指定参数为true ...

  2. java web 实现文件夹上传(保留目录结构)

    今天我弄了一下文件夹上传(很简单的 首先,我们的html需要这样写 <form action="/file/upload" enctype="multipart/f ...

  3. Python 错误和异常小结[转]

    原文链接    http://blog.csdn.net/sinchb/article/details/8392827 事先说明哦,这不是一篇关于Python异常的全面介绍的文章,这只是在学习Pyth ...

  4. 20171126--handlerThread

    1.首先看下handlerThread和普通的线程Thread的使用区别: HandlerThread本质上就是一个普通Thread,只不过内部建立了Looper. 为线程创建Looper的方法如下: ...

  5. android-基础编程-ListView

    ListView主要包括view和数据源.其数据适配器列表分为三种,ArrayAdapter,SimpleAdapter和SimpleCursorAdapter. ListView的没有oom原因.经 ...

  6. Shell编程-11-子Shell和Shell嵌套

    目录 什么是子Shell 子Shell产生的途径 Shell脚本调用模式 什么是子Shell     子Shell的概念其实是贯穿整个Shell的,如果想要更好的理解和写Shell脚本则必须要了解子S ...

  7. CentOS 5.8下快速搭建FTP服务器

    学习安装和配置vsftpd: 实验环境:CentOS 5.8 x86_64 测试环境关掉防火墙和selinux. service iptables stop setenforce 0 1.安装vsft ...

  8. SRM477

    250pt: 题意:给定一块蜂巢状的N*M矩阵,每块六边形和周围6个六边形相邻,现在告诉你哪些是陆地,哪些是水,问水陆交界处的长度. 思路:直接模拟 code: #line 7 "Islan ...

  9. shell 命令之 jps

    中华石衫老师说过,java是一个生态,几乎所有框架都对java 有很好的支持. 正是这句话,让我坚定了持续学习java的信念. 说回jps,jps是java 提供的,功能等于 ps -ef | gre ...

  10. Java学习---- 数组的引用传递

    1. public class ArrayRefDemo01{ public static void main(String args[]){ int temp[] = {1,3,5} ; // 利用 ...