ORM: 开发自己的Data Access Application Block - Part I
2008-12-06 10:15:45 来源:WEB开发网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;
}
}
}
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››自己动手写iPhone wap浏览器之界面架构篇
- ››自己也能DIY个性真人QQ表情
- ››自己动手!巧法让酷狗动感歌词更完美
- ››自己编译Google Android内核的Linux源码
- ››自己写的一个jquery模板引擎(json比较好用)
- ››开发一个自己的HTML在线编辑器(一)
- ››开发一个自己的HTML在线编辑器(二)
更多精彩
赞助商链接