WEB开发网
开发学院数据库MSSQL Server ORM: 开发自己的Data Access Application Block -... 阅读

ORM: 开发自己的Data Access Application Block - Part I

 2008-12-06 10:15:45 来源:WEB开发网   
核心提示: 2. Configuration对于一个能够被不同Application使用的Application Block,可配置性是最基本的要求,ORM: 开发自己的Data Access Application Block - Part I(8),为此,我为整个AppBlock编写了单独的Con

2. Configuration

对于一个能够被不同Application使用的Application Block,可配置性是最基本的要求,为此,我为整个AppBlock编写了单独的Configuration。在很多情况下我们在一个Application中会使用到多个具有相同或不同类型的数据库,所以这个Configuration System也许我们配置若干数据库。因而我充分利于了ConfigurationElementCollection,ConfigurationElementCollection中的每个Element对应一个具体的数据库。相关的配置信息包括:

一个唯一标该识数据库的DatabaseName(配置名称为name)

一个带面Data access provider类型的DbProvider(配置名称为dbProvider)

每个Db对应的ConnectionString(配置名称为connectionString)

代表是否是Default Db的IsDefaultDatabase(配置名称为isDefault)

两个Mapping :DbParameterNameMapping和StoredProcedureNameMapping(配置名称为dbParameterNameMapping和storedProcedureNameMapping,默认值为我丁一的默认Mapping type)

默认的Command Type:DedaultCommandType(配置名称为dedaultCommandType,默认为使用stored procedure)

使用CommandBuilder生成的Command还是使用Mapped stored procedure生成的Command进行Update:UsingCommandBuilderToUpdate(配置名称为usingCommandBuilderToUpdate,默认为使用Mapped stored procedure)。

ConfigurationElementCollection

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
namespace Artech.ApplicationBlock.Configuration
{
  public class DataAccessConfigurationCollection: ConfigurationElementCollection
  {
    protected override ConfigurationElement CreateNewElement()
    {
      return new DataAccessConfigurationElement();
    }
    protected override object GetElementKey(ConfigurationElement element)
    {
      DataAccessConfigurationElement configurationElement = element as DataAccessConfigurationElement;
      if (configurationElement == null)
      {
        throw new Exception("It is fail to parse the data access configuration");
      }
      return configurationElement.DatabaseName;
    }
  }
}

上一页  3 4 5 6 7 8 9 10  下一页

Tags:ORM 开发 自己

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接