• Enterprise Library – Data Access Application Block Part 1


      Enterprise Library for .Net Framework 3.5 – EntLib v4.1 是patterns & practices 小组为.NET Framework 3.5 开发一套企业库,目前最新版本为v4.1,共包括9个Application Block,包括数据访问(Data Access Application Block)、异常管理(Exception Handling Application Block)、数据验证(Validation Application Block)等等,对企业应用开发非常有帮助,也非常实用。
     
     
    相关下载信息:
     
    本文根据EntLib v4.1 的学习手册(Hands on Lab),演示数据访问模块的应用:
     
    1. 下载EntLib v4.1 的 Hands on Lab (http://www.codeplex.com/entlib ) ,并进行安装。
    打开安装目录下的\Enterprise Library 4.1 HOL\CS\Data Access\exercises\ex01\begin 的SimpleData.sln 项目文件,就可以开始下面的工作了。
     
    在开始之前,还需要创建范例程序中访问的EntLibQuickStarts 数据库。
    创建数据库、表、及其存储过程的脚本文件:Enterprise Library 4.1 HOL\CS\Data Access\setup\ DataAccessQuickStarts.sql。在SQL SERVER 2005/2008 中打开,执行一下就可以了。
     
    2. 引用EntLib 中需要的DLL 文件,在安装的目录下 C:\Program Files\Microsoft Enterprise Library 4.1 - October 2008\Bin。这里,引用如下DLL 文件:
    Microsoft.Practices.EnterpriseLibrary.Common.dll
    Microsoft.Practices.EnterpriseLibrary.Data.dll
     
    打开项目中 MainForm.cs 代码文件,添加应用的namespace的引用:
    using Microsoft.Practices.EnterpriseLibrary.Data;
     
    3. 添加代码:
    第一段代码是返回有多少条Customers记录。
            private void mnuCount_Click(object sender, System.EventArgs e)
            {
                Database db = null;
                db = DatabaseFactory.CreateDatabase("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);
            }
    第二段代码是返回所有的Customers记录,并显示DataGrid中。
            private void mnuLoad_Click(object sender, System.EventArgs e)
            {
                Database db = null;
                db = DatabaseFactory.CreateDatabase();
     
                DataSet ds = db.ExecuteDataSet(CommandType.Text, "SELECT * From Customers");
     
                dataGrid1.DataSource = ds.Tables[0];
            }
     
     
    到目前为止,还不能运行上述的代码,因为app.config 配置文件还没有创建,还不存在数据库连接。
     
    4. 创建app.config 配置文件,通过EntLib 附带的编辑器进行编辑,自动生成相应的配置文件,如下图所示,该编辑器与Visual Studio 2008 进行了集成。
     
     
    如下图所示,通过编辑器,创建新的Connection String。
     

     
    并设置Connection String 具体信息。
     
     
    这里需要注意的几个地方是:
    (1)选择Connection String节点,更改Name 属性为 QuickStarts Instance,就是上面代码中创建Database时传入的参数值。
     
    (2)选择Data Access Application Block 节点,设置DefaultDatabase 属性为QuickStarts Instance。在上面的第二段代码中,创建Database对象时没有传入参数,就是这里定义的DefaultDatabase参数。
     
    保存上述配置信息,查看一下自动生成的配置文件:
    <?xmlversion="1.0"encoding="utf-8"?>
    <configuration>
     <configSections>
        <sectionname="dataConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
     </configSections>
     <dataConfigurationdefaultDatabase="QuickStarts Instance" />
     <connectionStrings>
        <addname="QuickStarts Instance"connectionString="Data Source=YOURCOMPUTERNAME;Initial Catalog=EntLibQuickStarts;Integrated Security=True"
          providerName="System.Data.SqlClient" />
     </connectionStrings>
    </configuration>
     
    5. 现在就可以运行范例程序了,看看运行情况。
     
     

  • 相关阅读:
    sci会议和sci期刊区别是什么
    微信小程序保存图片到相册
    详解python3如何调用c语言代码
    微信小程序的跳转navigateTo()和redirectTo()用法和区别
    python+opencv图像变换的两种方法cv2.warpAffine和cv2.warpPerspective
    微信小程序
    微信小程序不同机型的兼容布局解决
    cv2.warpAffine 参数详解
    np.vstack()和np.hstack()
    numpy.linalg.svd函数
  • 原文地址:https://www.cnblogs.com/maocs/p/1686182.html
Copyright © 2020-2023  润新知