Data的config文件结构如下:
enterpriseLibrary.databaseSettings <defaultInstance>
databaseTypes
databaseType <name>
instances
instance <name, type, connectionString>
connectionStrings
connectionString <name>
parameters
parameter
<name, value, isSensitive>
其中,
1)databaseSettings 的<defaultInstance>属性指明使用哪个instance;
2)instance的<connectionString>属性指明使用哪个connectionString;
DatabaseSettings类负责解析整个config文件,从XML文件中解析出databaseTypes、instances、connectionStrings、defaultInstance四个对象,它们对应的类分别是:
DatabaseTypeDataCollection <= DatabaseTypeData
InstanceDataCollection <=
InstanceData
ConnectionStringDataCollection <=
ConnectionStringData
[XmlArray(ElementName="databaseTypes",
Namespace=DatabaseSettings.ConfigurationNamespace)]
[XmlArrayItem(ElementName="databaseType",
Type=typeof(DatabaseTypeData),
Namespace=DatabaseSettings.ConfigurationNamespace)]
public DatabaseTypeDataCollection DatabaseTypes
{
get { return this.databaseTypes; }
}
[XmlArray(ElementName="instances",
Namespace=DatabaseSettings.ConfigurationNamespace)]
[XmlArrayItem(ElementName="instance", Type=typeof(InstanceData),
Namespace=DatabaseSettings.ConfigurationNamespace)]
public InstanceDataCollection Instances
{
get { return this.instances; }
}
[XmlArray(ElementName="connectionStrings",
Namespace=DatabaseSettings.ConfigurationNamespace)]
[XmlArrayItem(ElementName="connectionString",
Type=typeof(ConnectionStringData),
Namespace=DatabaseSettings.ConfigurationNamespace)]
public ConnectionStringDataCollection ConnectionStrings
{
get { return this.connectionStrings; }
}
[XmlAttribute("defaultInstance")]
public string DefaultInstance
{
get { return this.defaultInstance; }
set { this.defaultInstance = value; }
}