微软企业库5.0 支持 MySql
来源:互联网 发布:音频dsp处理器数据 编辑:程序博客网 时间:2024/05/29 16:54
三步让 企业库支持 mysql 数据库
1.创建 MySqlDatabaseData 类
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;using Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ContainerModel;using Microsoft.Practices.EnterpriseLibrary.Data;using Microsoft.Practices.EnterpriseLibrary.Data.Configuration;using Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation;using System.Configuration;namespace Grass.MySqlDal.Data{ /// <summary> /// Describes a <see cref="SqlDatabase"/> instance, aggregating information from a /// <see cref="ConnectionStringSettings"/>. /// </summary> public class MySqlDatabaseData : DatabaseData { #region Public Methods public MySqlDatabaseData(ConnectionStringSettings connectionStringSettings, IConfigurationSource configurationSource) : base(connectionStringSettings, configurationSource) { } #endregion /// <summary> /// Creates a <see cref="TypeRegistration"/> instance describing the <see cref="SqlDatabase"/> represented by /// this configuration object. /// </summary> /// <returns>A <see cref="TypeRegistration"/> instance describing a database.</returns> 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 类
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;using Microsoft.Practices.EnterpriseLibrary.Data;using Microsoft.Practices.EnterpriseLibrary.Data.Instrumentation;using MySql.Data.MySqlClient;namespace Grass.MySqlDal.Data{ /// <summary> /// MySql 数据库访问基础 /// </summary> [ConfigurationElementType(typeof(MySqlDatabaseData))] public class MySqlDatabase : Database { /// <summary> /// Initializes a new instance of the <see cref="SqlDatabase"/> class with a connection string. /// </summary> /// <param name="connectionString">The connection string.</param> public MySqlDatabase(string connectionString) : base(connectionString, MySqlClientFactory.Instance) { } /// <summary> /// Initializes a new instance of the <see cref="SqlDatabase"/> class with a /// connection string and instrumentation provider. /// </summary> /// <param name="connectionString">The connection string.</param> /// <param name="instrumentationProvider">The instrumentation provider.</param> public MySqlDatabase(string connectionString, IDataInstrumentationProvider instrumentationProvider) : base(connectionString, MySqlClientFactory.Instance, instrumentationProvider) { } /// <summary> /// Retrieves parameter information from the stored procedure specified in the <see cref="DbCommand"/> and populates the Parameters collection of the specified <see cref="DbCommand"/> object. /// </summary> /// <param name="discoveryCommand">The <see cref="DbCommand"/> to do the discovery.</param> /// <remarks>The <see cref="DbCommand"/> must be a <see cref="SqlCommand"/> instance.</remarks> protected override void DeriveParameters(System.Data.Common.DbCommand discoveryCommand) { MySqlCommandBuilder.DeriveParameters((MySqlCommand)discoveryCommand); } }}
<?xml version="1.0"?><configuration> <!--MySql 企业库支持-begin--> <configSections> <!--01.声明一个数据库配置节--> <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data" /> </configSections> <dataConfiguration > <!--02.注册MySql数据提供者--> <providerMappings> <add name="MySql.Data.MySqlClient" databaseType="Grass.MySqlDal.Data.MySqlDatabase, Grass.MySqlDal" /> </providerMappings> </dataConfiguration> <system.data> <!--03.注册MySql数据提供者工厂类--> <DbProviderFactories> <add name="MySql Data Provider Factory" invariant="MySql.Data.MySqlClient" description="MySql Data Provider" type="MySql.Data.MySqlClient.MySqlClientFactory" /> </DbProviderFactories> </system.data> <!--MySql 企业库支持-end--> <connectionStrings> <!--04.数据库连接字符串--> <add name="test_MySql" connectionString="server=127.0.0.1;database=test;User Id=root;Password=123456;Persist Security Info=True;" providerName="MySql.Data.MySqlClient"/> </connectionStrings></configuration>
ok 了,试下吧~~
1 0
- 微软企业库5.0 支持 MySql
- 微软企业库5.0
- 微软企业库5.0 调用 MySql 分页存储过程
- 微软企业库
- 微软企业库
- 微软企业库5.0学习笔记(一)企业库是什么?
- 微软企业库5.0学习笔记(三)企业库主要内容
- 微软企业库5.0学习笔记(四)配置企业库
- 微软企业库5.0学习笔记(一)企业库是什么
- 微软企业库5.0学习笔记(三)企业库主要内容
- 微软企业库5.0学习笔记(四)配置企业库
- 微软企业库5.0学习笔记(五)引用企业库程序集及企业库的依赖
- 微软企业库5.0学习笔记(五)引用企业库程序集及企业库的依赖
- 浅尝微软企业库5.0日志功能
- C#利用微软企业库Enterprise Library操作mysql数据库
- 新任务:微软的企业库.
- 新任务:微软的企业库.
- 微软企业库 简介
- vs2010创建和使用动态链接库(dll)
- 贪吃蛇 by :jackfrued
- Web开发——PHP vs Java
- UFLDL 学习笔记——稀疏自动编码机(sparse autoencoder)
- 并查集—分离集合森林实现
- 微软企业库5.0 支持 MySql
- CentOS 5.6(X64)下编译安装LNMP平台(Nginx1.0.4+PHP5.3.6+Mysql5.5.12)
- 简单易学的机器学习算法——决策树之ID3算法
- Java中Array的常用方法
- 关于 Apple Metal API 的一些想法
- BZOJ 1934: [Shoi2007]Vote 善意的投票
- 转移指令的条件与机器码
- 我的学习计划
- 取石子游戏(移动皇后游戏)--威佐夫问题