Microsoft Enterprise Library 5.0 如何集成MyS

时间:2011-03-16 15:19:00 

今天在网上找了一下Microsoft Enterprise Library 5.0 如何集成MySQL数据库, 结果只找到了entlib 4.1的扩展模块,

http://entlibcontrib.codeplex.com/ , 按照上面的说明配制后还是不成功。

于是只好手动修改一下来支持entlib 5.0

修改后的项目:   MySqlDAAB.rar 

MySql.Data.dll:  MySql.Data.dll

1. 修改MySqlDatabaseAssembler.cs文件




public class MySqlDatabaseData : DatabaseData
    {
        #region Public Methods
        public MySqlDatabaseData(ConnectionStringSettings connectionStringSettings, IConfigurationSource configurationSource)
            : base(connectionStringSettings, configurationSource)
        {
        }
        #endregion

        public override System.Collections.Generic.IEnumerable<Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel.TypeRegistration> GetRegistrations()
        {
            yield return new TypeRegistration<Database>(
                () => new MySqlDatabase(
                    ConnectionString,
                    Container.Resolved<IDataInstrumentationProvider>(Name))) {
                        Name = Name,
                        Lifetime = TypeRegistrationLifetime.Transient
                    };
        }
    }

2. 修改MySqlDatabase.cs文件中的构造函数和在MySqlDatabase类上加上配制属性

 


 [ConfigurationElementType(typeof(MySqlDatabaseData))]
    public class MySqlDatabase : Database
    {       
        public MySqlDatabase(string connectionString)
            : base(connectionString, MySqlClientFactory.Instance)
        {
        }        
        public MySqlDatabase(string connectionString, IDataInstrumentationProvider instrumentationProvider)
            : base(connectionString, MySqlClientFactory.Instance, instrumentationProvider)
        {
        }        

3. 编译MySqlDAAB项目

4. 在项目中引用MySqlDAAB项目

5. 配制文件中如下配制: 


    


<configSections>
        <section name="dataConfiguration"
            type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,
                    Microsoft.Practices.EnterpriseLibrary.Data" />
    </configSections>
    <dataConfiguration >
        <providerMappings>
            <add name="MySql.Data.MySqlClient"
            databaseType="EntLibContrib.Data.MySql.MySqlDatabase, MySqlDAAB" />
        </providerMappings>
    </dataConfiguration>
    <system.data>
        <DbProviderFactories>
            <add
                name="My Sql Data Provider Factory"
                invariant="MySql.Data.MySqlClient"
                description=""
                type="MySql.Data.MySqlClient.MySqlClientFactory" />
        </DbProviderFactories>
    </system.data>
    <connectionStrings>
      <add name="TestDB_MySql" 
      connectionString="server=127.0.0.1;database=test;User Id=root;Password=****;Persist Security Info=True;"
           providerName="MySql.Data.MySqlClient"/>
    </connectionStrings>

 这样就可以使用MySQL数据库了。

标签:mysql数据库
0
投稿

猜你喜欢

  • asp连接MYSQL数据库的连接字符串(参数OPTION)

    2009-03-09 18:24:00
  • 发散后的期望

    2008-07-31 18:32:00
  • Mootools 1.2教程(14)——定时器和哈希简介

    2008-12-08 12:50:00
  • JavaScript中的this指针用法

    2007-08-26 17:29:00
  • 也说说语义

    2009-12-29 13:04:00
  • 两行 JavaScript 代码

    2010-08-31 14:57:00
  • asp如何实现按照输入汉字提示拼音功能?

    2010-05-18 18:37:00
  • 如何把数组转换成字符串?

    2009-11-06 13:49:00
  • asp和php页面全面封杀WVS扫描器的代码

    2011-02-28 10:43:00
  • 得到元素真实的背景颜色的函数

    2008-05-20 12:04:00
  • Transact_SQL小手册,适合初学者

    2008-08-25 19:40:00
  • DW MX 的快键一览表

    2009-07-21 12:47:00
  • 高效率的GetRows()的使用方法

    2008-09-23 18:29:00
  • WEB2.0网页制作标准教程(1)选择什么样的DOCTYPE

    2007-11-13 12:57:00
  • JavaScript学习心得之如何走出初学困境

    2008-12-24 13:30:00
  • MySQL聚焦Web 2.0可扩展性

    2012-01-05 19:02:19
  • 请正确认识MySQL对服务器端光标的限制

    2008-12-17 14:58:00
  • html注释书写规范

    2008-08-13 13:06:00
  • Oracle 9i 数据库异常关闭后的启动

    2010-07-20 12:49:00
  • MySQL Server 5.0安装教程(图解)

    2010-10-14 14:26:00
  • asp之家 网络编程 m.aspxhome.com