Ошибка, о которой вы говорите, заключается в том, что свойство DatabaseOptions является логическим.Вам нужно изменить это свойство, чтобы принимать строковые значения.В контроллере установки есть несколько мест, в которых вам нужно изменить способ использования этого свойства ...
Однако наиболее важной частью является реализация 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.