此方法支持nopCommerce2.4以上版本(缺少的代码,可参照nopCommerce2.6源码)
nopCommerce 4.1 如何支持Mysql 请看 Url: http://www.nopcn.com/nopcommerce-blog-95.html
在工程Easy.Data中:
1、添加MySqlConnectionFactory和MySqlDataProvider
在Easy.Data目录下添加两个Class,MySqlConnectionFactory和MySqlDataProvider,
MySqlConnectionFactory:
using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Data.Common; using System.Data.Entity.Infrastructure; using System.Linq; using System.Text; namespace Easy.Data { public class MySqlConnectionFactory : IDbConnectionFactory { private readonly string _baseConnectionString; private Func<string, DbProviderFactory> _providerFactoryCreator; public MySqlConnectionFactory() { } public MySqlConnectionFactory(string baseConnectionString) { this._baseConnectionString = baseConnectionString; } public DbConnection CreateConnection(string nameOrConnectionString) { string connectionString = nameOrConnectionString; bool treatAsConnectionString = nameOrConnectionString.IndexOf('=') >= 0; if (!treatAsConnectionString) { MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder(this.BaseConnectionString); builder.Server = nameOrConnectionString; connectionString = builder.ConnectionString; } DbConnection connection = null; try { connection = this.ProviderFactory("MySql.Data.MySqlClient").CreateConnection(); connection.ConnectionString = connectionString; } catch { connection = new MySqlConnection(connectionString); } return connection; } public string BaseConnectionString { get { return this._baseConnectionString; } } internal Func<string, DbProviderFactory> ProviderFactory { get { Func<string, DbProviderFactory> func1 = this._providerFactoryCreator; return delegate(string name) { return DbProviderFactories.GetFactory(name); }; } set { this._providerFactoryCreator = value; } } } }