-
Notifications
You must be signed in to change notification settings - Fork 113
Data.Config1
Igor Tkachev edited this page May 20, 2016
·
1 revision
Since Microsoft has released FW 2.0 and the section of configuration file is available, it should be used. This configuration method is preferable. The following method demonstrates this ability.
OpenConfig1FW2.cs
using System;
using System.Data;
using NUnit.Framework;
using BLToolkit.Data;
namespace HowTo.Data
{
[TestFixture]
public class OpenConfig1FW2
{
[Test]
public void FW2Configuration()
{
// <connectionString> section configuration supported in FW 2.0+.
//
using (DbManager db = new DbManager("DemoConnection"))
{
Assert.AreEqual(ConnectionState.Open, db.Connection.State);
}
}
}
}
App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add
name = "DemoConnection"
connectionString = "Server=.;Database=BLToolkitData;Integrated Security=SSPI"
providerName = "System.Data.SqlClient" />
</connectionStrings>
</configuration>
In addition BLToolkit supports an alternative way which uses the section. At the bottom of this page you can find a demo App.config file with a few examples.
BLToolkit recognizes configuration strings in the section by looking for a ConnectionString key prefix. Actual key value can be the following:
key value | Provider | Configuration |
---|---|---|
key="ConnectionString" |
default provider | default configuration |
key="ConnectionString.Foo.Bar" |
'Foo' provider | 'Bar' configuration |
key="ConnectionString.Foo." |
'Foo' provider | default configuration |
key="ConnectionString.Foo" |
default provider | 'Foo' configuration |
or | 'Foo' provider | default configuration |
key="ConnectionString..Foo" |
default provider | 'Foo' configuration |
key="ConnectionString..Foo.Bar" |
default provider | 'Foo.Bar' configuration |
Default provider is SqlDataProvider. See also Data Providers.
OpenConfig1.cs
using System;
using System.Data;
using NUnit.Framework;
using BLToolkit.Data;
namespace HowTo.Data
{
[TestFixture]
public class OpenConfig1
{
[Test]
public void DefaultConfiguration()
{
// Default configuration and default data provider.
//
using (DbManager db = new DbManager())
{
Assert.AreEqual(ConnectionState.Open, db.Connection.State);
}
}
[Test]
public void DevelopmentConfiguration()
{
// Development configuration and default data provider.
//
using (DbManager db = new DbManager("Development"))
{
Assert.AreEqual(ConnectionState.Open, db.Connection.State);
}
}
[Test]
public void ProductionConfiguration()
{
// Production configuration and default data provider.
//
using (DbManager db = new DbManager("Production"))
{
Assert.AreEqual(ConnectionState.Open, db.Connection.State);
}
}
[Test]
public void OleDbDefaultConfiguration()
{
// Default configuration and OleDb data provider.
//
using (DbManager db = new DbManager("OleDb"))
{
Assert.AreEqual(ConnectionState.Open, db.Connection.State);
}
}
[Test]
public void OleDbDevelopmentConfiguration()
{
// Development configuration and OleDb data provider.
//
using (DbManager db = new DbManager("OleDb", "Development"))
{
Assert.AreEqual(ConnectionState.Open, db.Connection.State);
}
}
[Test]
public void OleDbProductionConfiguration()
{
// Production configuration and OleDb data provider.
//
using (DbManager db = new DbManager("OleDb", "Production"))
{
Assert.AreEqual(ConnectionState.Open, db.Connection.State);
}
}
}
}
App.config
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add
name = "DemoConnection"
connectionString = "Server=.;Database=BLToolkitData;Integrated Security=SSPI"
providerName = "System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<!-- Default configuration -->
<add key="ConnectionString" value="Server=.;Database=BLToolkitData;Integrated Security=SSPI"/>
<!-- SQL Server Development configuration -->
<add key="ConnectionString.Development" value="Server=.;Database=BLToolkitData;Integrated Security=SSPI"/>
<!-- SQL Server Production configuration -->
<add key="ConnectionString.Production" value="Server=.;Database=BLToolkitData;Integrated Security=SSPI"/>
<!-- SQL Server configuration -->
<add key="ConnectionString.Sql" value="Server=.;Database=BLToolkitData;Integrated Security=SSPI"/>
<!-- OLEDB configuration -->
<add key="ConnectionString.OleDb" value="Provider=SQLOLEDB;Data Source=.;Integrated Security=SSPI;Initial Catalog=BLToolkitData"/>
<!-- OLEDB Development configuration -->
<add key="ConnectionString.OleDb.Development" value="Provider=SQLOLEDB;Data Source=.;Integrated Security=SSPI;Initial Catalog=BLToolkitData"/>
<!-- OLEDB Production configuration -->
<add key="ConnectionString.OleDb.Production" value="Provider=SQLOLEDB;Data Source=.;Integrated Security=SSPI;Initial Catalog=BLToolkitData"/>
</appSettings>
</configuration>
The default configuration can be set by a configuration file:
App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!-- MySql configuration -->
<add
key = "ConnectionString.MySql"
value = "..."/>
<add
key = "BLToolkit.DefaultConfiguration"
value = "MySql"/>
</appSettings>
</configuration>