Ent Lib 2.0 DAAB添加MySql扩展2008-04-09 10:32:21 来源:中国自学编程网 作者:未知 点击:
![]() 2. 扩展
经过前期的测试,MySql.Data基本完全跟System.Data.SqlClient操作方式一样,因此DAAB中MySql的扩展也只需要针对MySql,仿照SqlDatabase进行扩展就可以了。 在Data项目中添加MySql目录,并在目录下添加下面的两个文件,编译,或者另外建立一个工程来做(为了简短起见,注视都去掉了)。 namespace Microsoft.Practices.EnterpriseLibrary.Data.MySql
{ using Microsoft.Practices.EnterpriseLibrary.Common.Configuration; using Microsoft.Practices.EnterpriseLibrary.Data.Configuration; public class MySqlDatabaseAssembler : IDatabaseAssembler
{ public Database Assemble(string name, ConnectionStringSettings connectionStringSettings, IConfigurationSource configurationSource) { return new MySqlDatabase(connectionStringSettings.ConnectionString); } } } namespace Microsoft.Practices.EnterpriseLibrary.Data.MySql
{ using System; using System.Data; using System.Data.Common; using MySql.Data.MySqlClient; using Microsoft.Practices.EnterpriseLibrary.Data.Configuration; [DatabaseAssembler(typeof(MySqlDatabaseAssembler))]
public class MySqlDatabase : Database { private const char _parameterToken = '?'; public MySqlDatabase(string connectionString)
: base(connectionString, MySqlClientFactory.Instance) { } protected override void DeriveParameters(DbCommand discoveryCommand)
{ MySqlCommandBuilder.DeriveParameters((MySqlCommand)discoveryCommand); } public override string BuildParameterName(string name)
{ if (name[0] != _parameterToken) { return name.Insert(0, new string(_parameterToken, 1)); } return name; } 相关文章:
|