今天是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来学习。