• 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数据库了。

  • 相关阅读:
    聊天demo SignalR
    通过NSXMLParser来解析XML
    项目中遇到的问题
    iOS网络: 把Array和Dictionaries序列化成JSON对象
    通过 NSURLConnection 发送 HTTP GET /HTTP POST /HTTP DELETE /HTTP PUT 请求
    iOS网络: 通过NSMutableURLRequest修改一个URL的请求
    iOS网络: NSURLConnection进行同步下载
    iOS网络: NSURLConnection进行异步请求
    swipe Rotation Pan Press Tap Pinch
    手势识别1:
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2001655.html
Copyright © 2020-2023  润新知