如何设计并实现Asp.Net应用的通用数据存取层?

如何设计并实现Asp.Net应用的通用数据存取层?

设计、实现一个 Asp.Net 应用的通用数据存取层(二)

翻译:nxyc_twz@163.com

1.2 原型安装

在我们继续下一步之前,我建议您安装示例程序 DAPrototype, 因为以下的步骤中会多次涉及它。解决方案 DAPrototype.sln 由下面的类库组成 (可以查看小节3).

集合

描述

BLT

商业逻辑层

DAT

数据存取层

HttpTraceModule

在表述层跟踪错误

 

TDS

在层与层之间进行数据传输的数据集定义

小节3

请按下面的这些说明来安装示例程序:

  1. 下载文件 DAPrototype.zip

  2. 创建一个新的 ASP.NET C# 网络应用程序 DAPrototype,然后用你刚下载的文件替换掉它.

  3. 打开并执行 SQL 脚本 DAPrototype/SqlScript/DAPrototype.sql, 从而在我们的数据层(DT)的数据库中创建存储过程.

  4. 为了创建表述层、商业层以及数据存取层的事件日志,请单独打开 C# 项目 DAProtype/ELCreator/ELCreator.csproj (可以参考 1.4). 请调整计算机名称并执行它。出于对安全的考虑,我们不能将这部分功能整合到我们的web应用程序中。 Window 用户 ASPNET 没有足够的权限来创建 windows 资源.

  5. 调整Adjust configuration values for the keys in the DAPrototype/Web.config中keys的配置值,特别是 localConnection, daMachine, blMachine 以及 plMachine (参看 小节 4).
    <appSettings>
     <!-- Database Connection -->
    <add key="LocalConnection" 
       value="server=localhost;database=Northwind;uid=sa;pwd=moses; 
    pooling=true; Max Pool Size=100;"/>
    <!-- Event Log for Data Access Tier -->
    <addkey="daMachine"value="ABRAHAM"/>
    <addkey="daLog"value="DALog"/>
    <addkey="daSource"value="DASource"/>
    <!-- Event Log for Business Tier -->
    <addkey="blMachine"value="ABRAHAM"/>
    <addkey="blLog"value="BLLog"/>
    <addkey="blSource"value="BLSource"/>
    <!-- Event Log for Prsentation Tier -->
    <addkey="plMachine"value="ABRAHAM"/>
    <addkey="plLog"value="PLLog"/>
    <addkey="plSource"value="PLSource"/>
          
     <!--- application constants-->
    <addkey="consumeTaxRate"value="0.16"/>
    </appSettings>

    小节 4

  6. 设置 DAPrototype/SerchCustomOrders.aspx 面为首页.

我希望现在你可以运行我们的应用程序。

1.3 定义数据集

DataSet 是个内存型数据库,依赖于关于数据库模型。 Datasets 用来实现接口层的数据通信。它有数据表,外键约束,表关系触发器。 DataSets 是完全自主的,因为它们必须于数据源。而且, DataSets 也可以处理结构化数据,比如 XML DOM等。让我们看个示例(参看小节 5). 下面的 XML 文件列出出了德国的一些州及政府。

<?xmlversion=”1.0”encoding=”utf-8”?>
<Germany>
  <StateName=”Bayern”> 
    <CityName=”Munic”/> 
    <CityName=”Nürenburg”/>
  </State>
  <StateName=”NRW”>
    <CityName=”Düsseldorf”/> 
    <CityName=”Bonn”/>
  </State>
</Germany>
XML 文件

如何设计并实现Asp.Net应用的通用数据存取层?

相应数据庥的 XSD 文件