zoukankan      html  css  js  c++  java
  • Microsoft Enterprise Library 5.0 如何集成MySQL数据库

    今天在网上找了一下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数据库了。

  • 相关阅读:
    Cloud7为全球移动互联网大会提供手机门户支撑 开源CMS
    揭东县信息中心采用We7站群管理系统重新架构揭东县政务网 开源CMS
    中国计算机报:We7云计算重塑政府门户网站群 开源CMS
    We7网站群系统全新打造辽宁省民政厅网站群平台 开源CMS
    We7网站群为华中科技大学同济医学院附属同济医院提供专业网... 开源CMS
    sso实现原理解析
    TDSQL | DB·洞见回顾|基于LSMTree存储的数据库性能改进
    又拿奖了!腾讯云原生数据库TDSQLC斩获2021PostgreSQL中国最佳数据库产品奖
    为云而生,云原生数据库TDSQLC技术突破与演进
    金融级数据库新坐标:腾讯云TDSQL发布全自研新敏态引擎
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2001655.html
Copyright © 2011-2022 走看看