mysql - 如何在 Orchard CMS 1.3.10 中使用 MySQL 数据库?

标签 mysql asp.net-mvc-3 orchardcms

我正在尝试更改 Orchard.Setup 模块,以便我可以使用 MySQL 作为数据集安装 Orchard CMS 1.3.10。

我来得太久了,以至于我在 GUI 中获取 MySQL 进行设置,当我按下设置按钮时,我从 orchard 收到了这条错误消息:

The value 'MySql' is not valid for DatabaseOptions.

但是我找不到如何将 MySql 添加为 DatabaseOptions,还有其他人让它与 MySQL 一起工作吗?

MySQL 的旧模块与最新版本的 Orchard CMS 不兼容,这就是为什么我要自己制作它,如果我让它工作,我将发布它的开源供其他人使用。

最佳答案

您所说的错误是因为 DatabaseOptions 属性是一个 bool 值。您需要更改该属性以接受字符串值。 Setup Controller 中有几个地方需要更改该属性的使用方式...

但是,最重要的部分是实现 DataServicesProvider。我将我的添加到核心中,但我认为您可以将它作为一项功能放入设置模块中。我的看起来像这样......

namespace Orchard.Data.Providers {
    public class MySqlDataServiceProvider : AbstractDataServicesProvider
    {
        private readonly string _connectionString;

        public MySqlDataServiceProvider(string dataFolder, string connectionString)
        {
            _connectionString = connectionString;
        }

        public static string ProviderName
        {
            get { return "MySql"; }
        }

        public override IPersistenceConfigurer GetPersistenceConfigurer(bool createDatabase)
        {
            var persistence = MySQLConfiguration.Standard;

            if (string.IsNullOrEmpty(_connectionString))
            {
                throw new ArgumentException("The connection string is empty");
            }

            persistence = persistence.ConnectionString(_connectionString);
            return persistence;
        }
    }
}

哦,别忘了您需要引用 MySql.Data。它以 NuGet 包的形式提供。

关于mysql - 如何在 Orchard CMS 1.3.10 中使用 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701008/

相关文章:

mysql - 如何从此 SELECT 中排除重复项?

mysql - JSP执行select查询不显示结果

mysql - 在 MySQL 表中存储运费,将来会添加许多列

c# - .NET MVC3 首选模型初始化

orchardcms - Orchard CMS 内容类型是否应该用于应用程序域模型?

asp.net-mvc - 按内容类型 BlogPost 和某些 BlogId 过滤的 Orchard 查询

c# - 如何有条件地阻止对 Orchard CMS 中 ContentPart 字段的验证?

sql - MySql从存储过程中调用存储函数导致错误

asp.net-mvc - 没有为此对象定义无参数构造函数?

c# - 您可以 [过时] Razor 中的 DisplayTemplate 吗?