我们对ORM的操作,最终还是对数据库的操作,所以对数据库的连接信息设置是少不了的。
QDORM使用了.Net中最常用的Web.Config自定义节配置方式。
我们先创建一个Web.Config配置节类:
///<summary >
///ORM配置文件
///</summary >
public class ORMConfig : ConfigurationSection
{
///<summary >
///取节名为ORMConfig的QDORM配置节
///</summary >
///<returns ></returns >
public static ORMConfig GetConfig()
{
return GetConfig("ORMConfig");
}
///<summary >
///取QDORM配置节
///</summary >
///<param name="sectionName" ></param >
///<returns ></returns >
public static ORMConfig GetConfig(string sectionName)
{
ORMConfig config = (ORMConfig)ConfigurationManager.GetSection(sectionName);
return config;
}
private const string _WriteConnectionStrings = "WriteConnectionStrings";
///<summary >
///写数据库连接字符串
///</summary >
[ConfigurationProperty(_WriteConnectionStrings, IsRequired = true)]
public string WriteConnectionStrings
{
get
{
return (string)base[_WriteConnectionStrings];
}
set
{
base[_WriteConnectionStrings] = value;
}
}
private const string _ReadConnectionStrings = "ReadConnectionStrings";
///<summary >
///读数据库连接字符串
///</summary >
[ConfigurationProperty(_ReadConnectionStrings, IsRequired = true)]
public string ReadConnectionStrings
{
get
{
return (string)base[_ReadConnectionStrings];
}
set
{
base[_ReadConnectionStrings] = value;
}
}
private const string _ConfigConnectionStrings = "ConfigConnectionStrings";
///<summary >
///配置数据库
///</summary >
[ConfigurationProperty(_ConfigConnectionStrings, IsRequired = true)]
public string ConfigConnectionStrings
{
get
{
return (string)base[_ConfigConnectionStrings];
}
set
{
base[_ConfigConnectionStrings] = value;
}
}
}
该类非常简单,大家可根据自己项目的需要扩展其它属性。
考虑到项目可能会有读写分离的情况(我们都是小项目,都是一个数据库),我们可以分别设置读与写数据库的连接字符串。如果是一个数据库,读与写设置为一样的就好了。
注意:该类一定要继承自ConfigurationSection抽象类。光有ORMConfig类,.Net还是识别不了ORMConfig节的,如果我们直接在Web.Config中声明该节,如下:
<?xml version="1.0" encoding="utf-8"? >
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-- >
<configuration >
<ORMConfig ReadConnectionStrings="Data Source=.;uid=sa;pwd=123;Initial Catalog= www.lmwlove.com;"
WriteConnectionStrings="Data Source=.;uid=sa;pwd=123;Initial Catalog= www.lmwlove.com;" >
</ORMConfig >
</configuration >
运行时会报错:
无法读取配置节“ORMConfig”,因为它缺少节声明我们必须在配置该节前先声明它,具体实现方法就是在Web.Config中添加configSections声明。
完整的代码如下:
<?xml version="1.0" encoding="utf-8"? >
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-- >
<configuration >
<configSections >
<section name="ORMConfig" type="QDORM.ORMConfig,QDORM"/ >
</configSections >
<ORMConfig ReadConnectionStrings="Data Source=.;uid=sa;pwd=123;Initial Catalog= www.lmwlove.com;"
WriteConnectionStrings="Data Source=.;uid=sa;pwd=123;Initial Catalog= www.lmwlove.com;" >
</ORMConfig >
</configuration >